tests packageΒΆ
SubmodulesΒΆ
tests.test_detection moduleΒΆ
- tests.test_detection.test_detection_heuristics_sorting()[source]ΒΆ
Detection heuristics must be sorted within each section.
- tests.test_detection.github_runner_os()[source]ΒΆ
Returns the OS name as defined in the GitHub Actions matrix context.
Caution
This only works when running inside a GitHub Actions job that uses a
matrixstrategy with anosvariant. Which is the case for theextra-platformsworkflows.
- tests.test_detection.test_github_runner_detection()[source]ΒΆ
Test GitHub runner OS.
List of available GitHub runner images: https://github.com/actions/runner-images#available-images
tests.test_group moduleΒΆ
- tests.test_group.test_remove()[source]ΒΆ
Test remove() method for removing a trait with error checking.
tests.test_group_data moduleΒΆ
- tests.test_group_data.test_group_data_ordering()[source]ΒΆ
Group instances follow logical order, not alphabetical.
- tests.test_group_data.test_group_no_missing_platform()[source]ΒΆ
Check all platform are attached to at least one group.
tests.test_operations moduleΒΆ
tests.test_platform moduleΒΆ
tests.test_platform_data moduleΒΆ
- tests.test_platform_data.test_platform_data_sorting()[source]ΒΆ
Platform instances must be sorted alphabetically.
- tests.test_platform_data.test_platform_website(platform)[source]ΒΆ
Test if platform website is reachable.
Place this test in a separate function so we can separate it from the platform data tests, and allow this test to be skipped while requiring the test above to always pass.
Some websites are known to be flaky, because they block access from GitHub Actions, or canβt take the load of requests from CI. We skip these platforms.
tests.test_pytest moduleΒΆ
tests.test_root moduleΒΆ
- tests.test_root.PROJECT_ROOT = PosixPath('/home/runner/work/extra-platforms/extra-platforms')ΒΆ
The root path of the project.
- tests.test_root.PYPROJECT_PATH = PosixPath('/home/runner/work/extra-platforms/extra-platforms/pyproject.toml')ΒΆ
The path to the
pyproject.tomlfile.
- tests.test_root.PYPROJECT = {'build-system': {'build-backend': 'uv_build', 'requires': ['uv_build >= 0.9.0']}, 'dependency-groups': {'docs': ['click-extra [sphinx] >= 7.3.0', 'furo >= 2025.9.25', 'myst-parser >= 4.0.0', 'sphinx', 'sphinx-autodoc-typehints >= 2.4.0', 'sphinx-copybutton >= 0.5.2', 'sphinx-design >= 0.6.0', 'sphinx-issues >= 5.0.0', 'sphinxcontrib-mermaid >= 1.2.2', 'sphinxext-opengraph >= 0.13.0', "tomli >= 2.3.0 ; python_version < '3.11'"], 'test': ['coverage [toml] >= 7.11.0', 'pytest', 'pytest-cov >= 7.0.0', 'pytest-github-actions-annotate-failures >= 0.3.0', 'pytest-randomly >= 4.0.0', 'pytest-xdist [psutil] >= 3.7.0', 'requests >= 2.32.5', "tomli >= 2.3.0 ; python_version < '3.11'"], 'typing': ['types-requests >= 2.32.4.20250611']}, 'project': {'authors': [{'email': 'kevin@deldycke.com', 'name': 'Kevin Deldycke'}], 'classifiers': ['Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Environment :: MacOS X', 'Environment :: WebAssembly', 'Environment :: WebAssembly :: Emscripten', 'Environment :: WebAssembly :: WASI', 'Environment :: Win32 (MS Windows)', 'Framework :: Pytest', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)', 'Operating System :: Android', 'Operating System :: BeOS', 'Operating System :: MacOS', 'Operating System :: MacOS :: MacOS 9', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft', 'Operating System :: Microsoft :: MS-DOS', 'Operating System :: Microsoft :: Windows', 'Operating System :: Microsoft :: Windows :: Windows 3.1 or Earlier', 'Operating System :: Microsoft :: Windows :: Windows 7', 'Operating System :: Microsoft :: Windows :: Windows 8', 'Operating System :: Microsoft :: Windows :: Windows 8.1', 'Operating System :: Microsoft :: Windows :: Windows 10', 'Operating System :: Microsoft :: Windows :: Windows 11', 'Operating System :: Microsoft :: Windows :: Windows 95/98/2000', 'Operating System :: Microsoft :: Windows :: Windows CE', 'Operating System :: Microsoft :: Windows :: Windows NT/2000', 'Operating System :: Microsoft :: Windows :: Windows Server 2003', 'Operating System :: Microsoft :: Windows :: Windows Server 2008', 'Operating System :: Microsoft :: Windows :: Windows Vista', 'Operating System :: Microsoft :: Windows :: Windows XP', 'Operating System :: OS Independent', 'Operating System :: OS/2', 'Operating System :: Other OS', 'Operating System :: PDA Systems', 'Operating System :: POSIX', 'Operating System :: POSIX :: AIX', 'Operating System :: POSIX :: BSD', 'Operating System :: POSIX :: BSD :: BSD/OS', 'Operating System :: POSIX :: BSD :: FreeBSD', 'Operating System :: POSIX :: BSD :: NetBSD', 'Operating System :: POSIX :: BSD :: OpenBSD', 'Operating System :: POSIX :: GNU Hurd', 'Operating System :: POSIX :: HP-UX', 'Operating System :: POSIX :: IRIX', 'Operating System :: POSIX :: Linux', 'Operating System :: POSIX :: Other', 'Operating System :: POSIX :: SCO', 'Operating System :: POSIX :: SunOS/Solaris', 'Operating System :: PalmOS', 'Operating System :: RISC OS', 'Operating System :: Unix', 'Operating System :: iOS', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', 'Programming Language :: Python :: 3.14', 'Programming Language :: Python :: Implementation :: CPython', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: System :: Hardware', 'Topic :: System :: Operating System', 'Topic :: System :: Operating System Kernels', 'Topic :: System :: Operating System Kernels :: BSD', 'Topic :: System :: Operating System Kernels :: GNU Hurd', 'Topic :: System :: Operating System Kernels :: Linux', 'Topic :: Utilities', 'Typing :: Typed'], 'dependencies': ['distro >= 1.9.0'], 'description': 'Detect architectures, platforms and CI systems, and group them by family', 'entry-points': {'pytest11': {'extra-platforms': 'extra_platforms.pytest'}}, 'keywords': ['ALT Linux', 'Amazon Linux', 'Android', 'Arch Linux', 'Architecture detection', 'ARM (32-bit)', 'ARM64 (AArch64)', 'ARMv6 (little-endian)', 'ARMv7 (little-endian)', 'ARMv8 (32-bit, little-endian)', 'AT&T System Five', 'Azure Pipelines', 'Bamboo', 'Buildkite', 'Buildroot', 'CachyOS', 'CentOS', 'Circle CI', 'Cirrus CI', 'CloudLinux OS', 'CodeBuild', 'Cygwin', 'Debian', 'Exherbo Linux', 'Fedora', 'FreeBSD', 'Gentoo Linux', 'GitHub Actions runner', 'GitLab CI', 'GNU/Hurd', 'Guix System', 'Heroku CI', 'IBM AIX', 'IBM PowerKVM', 'IBM z/Architecture (s390x)', 'Intel 80386 (i386)', 'Intel Pentium (i586)', 'Intel Pentium Pro (i686)', 'KVM for IBM z Systems', 'Linux Mint', 'LoongArch (64-bit)', 'macOS', 'Mageia', 'Mandriva Linux', 'MidnightBSD', 'MIPS (32-bit, big-endian)', 'MIPS (32-bit, little-endian)', 'MIPS64 (big-endian)', 'MIPS64 (little-endian)', 'multiplatform', 'NetBSD', 'Nobara', 'OpenBSD', 'openSUSE', 'openSUSE Tumbleweed', 'Oracle Linux', 'OS detection', 'Parallels', 'Pidora', 'Platform detection', 'PowerPC (32-bit)', 'PowerPC 64-bit (big-endian)', 'PowerPC 64-bit (little-endian)', 'Pytest', 'Raspbian', 'RedHat Enterprise Linux', 'RISC-V (32-bit)', 'RISC-V (64-bit)', 'Rocky Linux', 'Scientific Linux', 'Slackware', 'Solaris', 'SPARC (32-bit)', 'SPARC (64-bit)', 'SunOS', 'SUSE Linux Enterprise Server', 'TeamCity', 'Travis CI', 'Tuxedo OS', 'Ubuntu', 'Ultramarine', 'Unix', 'WebAssembly (32-bit)', 'WebAssembly (64-bit)', 'Windows', 'Windows Subsystem for Linux', 'x86-64 (AMD64)', 'XenServer'], 'name': 'extra-platforms', 'optional-dependencies': {'pytest': ['pytest >= 8.2.1']}, 'readme': 'readme.md', 'requires-python': '>= 3.10', 'urls': {'Changelog': 'https://github.com/kdeldycke/extra-platforms/blob/main/changelog.md', 'Documentation': 'https://kdeldycke.github.io/extra-platforms', 'Funding': 'https://github.com/sponsors/kdeldycke', 'Homepage': 'https://github.com/kdeldycke/extra-platforms', 'Issues': 'https://github.com/kdeldycke/extra-platforms/issues', 'Repository': 'https://github.com/kdeldycke/extra-platforms'}, 'version': '6.0.0'}, 'tool': {'bumpversion': {'allow_dirty': True, 'current_version': '6.0.0', 'files': [{'glob': './**/__init__.py', 'ignore_missing_version': True}, {'filename': './pyproject.toml', 'replace': 'version = "{new_version}"', 'search': 'version = "{current_version}"'}, {'filename': './changelog.md', 'replace': '## [{new_version} (unreleased)](', 'search': '## [{current_version} (unreleased)]('}, {'filename': './citation.cff', 'replace': 'version: {new_version}', 'search': 'version: {current_version}'}, {'filename': './citation.cff', 'regex': True, 'replace': 'date-released: {utcnow:%Y-%m-%d}', 'search': 'date-released: \\d{{4}}-\\d{{2}}-\\d{{2}}'}]}, 'mypy': {'pretty': True, 'warn_redundant_casts': True, 'warn_return_any': True, 'warn_unreachable': True, 'warn_unused_configs': True, 'warn_unused_ignores': True}, 'pytest': {'ini_options': {'addopts': ['--durations=10', '--cov=extra_platforms', '--cov-branch', '--cov-precision=2', '--cov-report=term', '--cov-report=xml', '--junitxml=junit.xml', '--override-ini=junit_family=legacy'], 'xfail_strict': True}}, 'typos': {'default': {'extend-ignore-identifiers-re': ['Tru64', 'PASE', 'Sur']}}, 'uv': {'build-backend': {'module-root': ''}}}}ΒΆ
The parsed content of the
pyproject.tomlfile.
- tests.test_root.test_pyproject_keywords()[source]ΒΆ
Check that keywords in
pyproject.tomlare correct.