Pytest

Important

For these helpers to work, you need to install extra_platforms’s additional dependencies from the pytest extra group:

$ pip install extra_platforms[pytest]

Usage

  • @skip_<id> — Skips the test when running on that platform/architecture/CI system

  • @unless_<id> — Skips the test unless running on that platform/architecture/CI system

Skip a test on Windows:

import pytest
from extra_platforms.pytest import skip_windows


@skip_windows
def test_unix_only():
    # This test will be skipped on Windows
    pass

Run a test only on Linux:

import pytest
from extra_platforms.pytest import unless_linux


@unless_linux
def test_linux_only():
    # This test will be skipped unless running on Linux
    pass

Skip a test on specific architectures:

import pytest
from extra_platforms.pytest import skip_aarch64


@skip_aarch64
def test_not_on_arm64():
    # This test will be skipped on ARM64 (AArch64)
    pass

Skip a test in CI environments:

import pytest
from extra_platforms.pytest import skip_github_ci


@skip_github_ci
def test_not_in_github_actions():
    # This test will be skipped when running in GitHub Actions
    pass

All decorators

Skip decorator

Unless decorator

Icon

Associated symbol

@skip_aarch64

@unless_aarch64

📱

AARCH64

@skip_aix

@unless_aix

AIX

@skip_all_architectures

@unless_any_architecture

🏛️

ALL_ARCHITECTURES

@skip_all_arm

@unless_any_arm

📱

ALL_ARM

@skip_all_ci

@unless_any_ci

ALL_CI

@skip_all_mips

@unless_any_mips

🔲

ALL_MIPS

@skip_all_platforms

@unless_any_platform

⚙️

ALL_PLATFORMS

@skip_all_sparc

@unless_any_sparc

☀️

ALL_SPARC

@skip_all_traits

@unless_any_trait

ALL_TRAITS

@skip_all_windows

@unless_any_windows

🪟

ALL_WINDOWS

@skip_altlinux

@unless_altlinux

🐧

ALTLINUX

@skip_amzn

@unless_amzn

AMZN

@skip_android

@unless_android

🤖

ANDROID

@skip_arch

@unless_arch

🎗️

ARCH

@skip_arch_32_bit

@unless_arch_32_bit

³²

ARCH_32_BIT

@skip_arch_64_bit

@unless_arch_64_bit

⁶⁴

ARCH_64_BIT

@skip_arm

@unless_arm

📱

ARM

@skip_armv5tel

@unless_armv5tel

📱

ARMV5TEL

@skip_armv6l

@unless_armv6l

📱

ARMV6L

@skip_armv7l

@unless_armv7l

📱

ARMV7L

@skip_armv8l

@unless_armv8l

📱

ARMV8L

@skip_azure_pipelines

@unless_azure_pipelines

AZURE_PIPELINES

@skip_bamboo

@unless_bamboo

BAMBOO

@skip_big_endian

@unless_big_endian

⬆️

BIG_ENDIAN

@skip_bsd

@unless_bsd

🅱️+

BSD

@skip_bsd_not_macos

@unless_bsd_not_macos

🅱️

BSD_WITHOUT_MACOS

@skip_buildkite

@unless_buildkite

🪁

BUILDKITE

@skip_buildroot

@unless_buildroot

⛑️

BUILDROOT

@skip_cachyos

@unless_cachyos

CACHYOS

@skip_centos

@unless_centos

💠

CENTOS

@skip_circle_ci

@unless_circle_ci

CIRCLE_CI

@skip_cirrus_ci

@unless_cirrus_ci

CIRRUS_CI

@skip_cloudlinux

@unless_cloudlinux

CLOUDLINUX

@skip_codebuild

@unless_codebuild

CODEBUILD

@skip_cygwin

@unless_cygwin

Ͼ

CYGWIN

@skip_debian

@unless_debian

🌀

DEBIAN

@skip_dragonfly_bsd

@unless_dragonfly_bsd

🪰

DRAGONFLY_BSD

@skip_exherbo

@unless_exherbo

🐽

EXHERBO

@skip_fedora

@unless_fedora

🎩

FEDORA

@skip_freebsd

@unless_freebsd

😈

FREEBSD

@skip_gentoo

@unless_gentoo

🗜️

GENTOO

@skip_github_ci

@unless_github_ci

🐙

GITHUB_CI

@skip_gitlab_ci

@unless_gitlab_ci

🦊

GITLAB_CI

@skip_guix

@unless_guix

🐃

GUIX

@skip_haiku

@unless_haiku

🍂

HAIKU

@skip_heroku_ci

@unless_heroku_ci

HEROKU_CI

@skip_hurd

@unless_hurd

🐃

HURD

@skip_i386

@unless_i386

𝗶

I386

@skip_i586

@unless_i586

𝗶

I586

@skip_i686

@unless_i686

𝗶

I686

@skip_ibm_mainframe

@unless_ibm_mainframe

🏢

IBM_MAINFRAME

@skip_ibm_powerkvm

@unless_ibm_powerkvm

🤹

IBM_POWERKVM

@skip_illumos

@unless_illumos

🔥

ILLUMOS

@skip_kvmibm

@unless_kvmibm

🤹

KVMIBM

@skip_linux

@unless_linux

🐧

LINUX

@skip_linux_layers

@unless_linux_layers

LINUX_LAYERS

@skip_linux_like

@unless_linux_like

🐧+

LINUX_LIKE

@skip_linuxmint

@unless_linuxmint

🌿

LINUXMINT

@skip_little_endian

@unless_little_endian

⬇️

LITTLE_ENDIAN

@skip_loongarch

@unless_loongarch

🐉

LOONGARCH

@skip_loongarch64

@unless_loongarch64

🐉

LOONGARCH64

@skip_macos

@unless_macos

🍎

MACOS

@skip_mageia

@unless_mageia

MAGEIA

@skip_mandriva

@unless_mandriva

💫

MANDRIVA

@skip_midnightbsd

@unless_midnightbsd

🌘

MIDNIGHTBSD

@skip_mips

@unless_mips

🔲

MIPS

@skip_mips64

@unless_mips64

🔲

MIPS64

@skip_mips64el

@unless_mips64el

🔲

MIPS64EL

@skip_mipsel

@unless_mipsel

🔲

MIPSEL

@skip_netbsd

@unless_netbsd

🚩

NETBSD

@skip_nobara

@unless_nobara

NOBARA

@skip_openbsd

@unless_openbsd

🐡

OPENBSD

@skip_opensuse

@unless_opensuse

🦎

OPENSUSE

@skip_oracle

@unless_oracle

🦴

ORACLE

@skip_other_posix

@unless_other_posix

🅟

OTHER_POSIX

@skip_parallels

@unless_parallels

PARALLELS

@skip_pidora

@unless_pidora

🍓

PIDORA

@skip_powerpc

@unless_powerpc

POWERPC

@skip_ppc

@unless_ppc

PPC

@skip_ppc64

@unless_ppc64

PPC64

@skip_ppc64le

@unless_ppc64le

PPC64LE

@skip_raspbian

@unless_raspbian

🍓

RASPBIAN

@skip_rhel

@unless_rhel

🎩

RHEL

@skip_riscv

@unless_riscv

RISCV

@skip_riscv32

@unless_riscv32

RISCV32

@skip_riscv64

@unless_riscv64

RISCV64

@skip_rocky

@unless_rocky

⛰️

ROCKY

@skip_s390x

@unless_s390x

🏢

S390X

@skip_scientific

@unless_scientific

⚛️

SCIENTIFIC

@skip_slackware

@unless_slackware

🚬

SLACKWARE

@skip_sles

@unless_sles

🦎

SLES

@skip_solaris

@unless_solaris

🌞

SOLARIS

@skip_sparc

@unless_sparc

☀️

SPARC

@skip_sparc64

@unless_sparc64

☀️

SPARC64

@skip_sunos

@unless_sunos

☀️

SUNOS

@skip_system_v

@unless_system_v

𝐕

SYSTEM_V

@skip_teamcity

@unless_teamcity

🏙️

TEAMCITY

@skip_travis_ci

@unless_travis_ci

👷

TRAVIS_CI

@skip_tumbleweed

@unless_tumbleweed

TUMBLEWEED

@skip_tuxedo

@unless_tuxedo

🤵

TUXEDO

@skip_ubuntu

@unless_ubuntu

🎯

UBUNTU

@skip_ultramarine

@unless_ultramarine

🌊

ULTRAMARINE

@skip_unix

@unless_unix

UNIX

@skip_unix_layers

@unless_unix_layers

UNIX_LAYERS

@skip_unix_not_macos

@unless_unix_not_macos

UNIX_WITHOUT_MACOS

@skip_unknown

@unless_unknown

UNKNOWN

@skip_unknown_architecture

@unless_unknown_architecture

UNKNOWN_ARCHITECTURE

@skip_unknown_ci

@unless_unknown_ci

UNKNOWN_CI

@skip_unknown_platform

@unless_unknown_platform

UNKNOWN_PLATFORM

@skip_wasm32

@unless_wasm32

🌐

WASM32

@skip_wasm64

@unless_wasm64

🌐

WASM64

@skip_webassembly

@unless_webassembly

🌐

WEBASSEMBLY

@skip_windows

@unless_windows

🪟

WINDOWS

@skip_wsl1

@unless_wsl1

WSL1

@skip_wsl2

@unless_wsl2

WSL2

@skip_x86

@unless_x86

𝘅

X86

@skip_x86_64

@unless_x86_64

🖥️

X86_64

@skip_xenserver

@unless_xenserver

XENSERVER

Skip decorators

@extra_platforms.pytest.skip_aarch64(*args, **kwargs)

Skip test if current environment is AARCH64 (i.e., when is_aarch64() returns True).

@extra_platforms.pytest.skip_aix(*args, **kwargs)

Skip test if current environment is AIX (i.e., when is_aix() returns True).

@extra_platforms.pytest.skip_all_architectures(*args, **kwargs)

Skip test if current environment matches any member of the ALL_ARCHITECTURES group (i.e., when is_any_architecture() returns True).

@extra_platforms.pytest.skip_all_arm(*args, **kwargs)

Skip test if current environment matches any member of the ALL_ARM group (i.e., when is_any_arm() returns True).

@extra_platforms.pytest.skip_all_ci(*args, **kwargs)

Skip test if current environment matches any member of the ALL_CI group (i.e., when is_any_ci() returns True).

@extra_platforms.pytest.skip_all_mips(*args, **kwargs)

Skip test if current environment matches any member of the ALL_MIPS group (i.e., when is_any_mips() returns True).

@extra_platforms.pytest.skip_all_platforms(*args, **kwargs)

Skip test if current environment matches any member of the ALL_PLATFORMS group (i.e., when is_any_platform() returns True).

@extra_platforms.pytest.skip_all_sparc(*args, **kwargs)

Skip test if current environment matches any member of the ALL_SPARC group (i.e., when is_any_sparc() returns True).

@extra_platforms.pytest.skip_all_traits(*args, **kwargs)

Skip test if current environment matches any member of the ALL_TRAITS group (i.e., when is_any_trait() returns True).

@extra_platforms.pytest.skip_all_windows(*args, **kwargs)

Skip test if current environment matches any member of the ALL_WINDOWS group (i.e., when is_any_windows() returns True).

@extra_platforms.pytest.skip_altlinux(*args, **kwargs)

Skip test if current environment is ALTLINUX (i.e., when is_altlinux() returns True).

@extra_platforms.pytest.skip_amzn(*args, **kwargs)

Skip test if current environment is AMZN (i.e., when is_amzn() returns True).

@extra_platforms.pytest.skip_android(*args, **kwargs)

Skip test if current environment is ANDROID (i.e., when is_android() returns True).

@extra_platforms.pytest.skip_arch(*args, **kwargs)

Skip test if current environment is ARCH (i.e., when is_arch() returns True).

@extra_platforms.pytest.skip_arch_32_bit(*args, **kwargs)

Skip test if current environment matches any member of the ARCH_32_BIT group (i.e., when is_arch_32_bit() returns True).

@extra_platforms.pytest.skip_arch_64_bit(*args, **kwargs)

Skip test if current environment matches any member of the ARCH_64_BIT group (i.e., when is_arch_64_bit() returns True).

@extra_platforms.pytest.skip_arm(*args, **kwargs)

Skip test if current environment is ARM (i.e., when is_arm() returns True).

@extra_platforms.pytest.skip_armv5tel(*args, **kwargs)

Skip test if current environment is ARMV5TEL (i.e., when is_armv5tel() returns True).

@extra_platforms.pytest.skip_armv6l(*args, **kwargs)

Skip test if current environment is ARMV6L (i.e., when is_armv6l() returns True).

@extra_platforms.pytest.skip_armv7l(*args, **kwargs)

Skip test if current environment is ARMV7L (i.e., when is_armv7l() returns True).

@extra_platforms.pytest.skip_armv8l(*args, **kwargs)

Skip test if current environment is ARMV8L (i.e., when is_armv8l() returns True).

@extra_platforms.pytest.skip_azure_pipelines(*args, **kwargs)

Skip test if current environment is AZURE_PIPELINES (i.e., when is_azure_pipelines() returns True).

@extra_platforms.pytest.skip_bamboo(*args, **kwargs)

Skip test if current environment is BAMBOO (i.e., when is_bamboo() returns True).

@extra_platforms.pytest.skip_big_endian(*args, **kwargs)

Skip test if current environment matches any member of the BIG_ENDIAN group (i.e., when is_big_endian() returns True).

@extra_platforms.pytest.skip_bsd(*args, **kwargs)

Skip test if current environment matches any member of the BSD group (i.e., when is_bsd() returns True).

@extra_platforms.pytest.skip_bsd_not_macos(*args, **kwargs)

Skip test if current environment matches any member of the BSD_WITHOUT_MACOS group (i.e., when is_bsd_not_macos() returns True).

@extra_platforms.pytest.skip_buildkite(*args, **kwargs)

Skip test if current environment is BUILDKITE (i.e., when is_buildkite() returns True).

@extra_platforms.pytest.skip_buildroot(*args, **kwargs)

Skip test if current environment is BUILDROOT (i.e., when is_buildroot() returns True).

@extra_platforms.pytest.skip_cachyos(*args, **kwargs)

Skip test if current environment is CACHYOS (i.e., when is_cachyos() returns True).

@extra_platforms.pytest.skip_centos(*args, **kwargs)

Skip test if current environment is CENTOS (i.e., when is_centos() returns True).

@extra_platforms.pytest.skip_circle_ci(*args, **kwargs)

Skip test if current environment is CIRCLE_CI (i.e., when is_circle_ci() returns True).

@extra_platforms.pytest.skip_cirrus_ci(*args, **kwargs)

Skip test if current environment is CIRRUS_CI (i.e., when is_cirrus_ci() returns True).

@extra_platforms.pytest.skip_cloudlinux(*args, **kwargs)

Skip test if current environment is CLOUDLINUX (i.e., when is_cloudlinux() returns True).

@extra_platforms.pytest.skip_codebuild(*args, **kwargs)

Skip test if current environment is CODEBUILD (i.e., when is_codebuild() returns True).

@extra_platforms.pytest.skip_cygwin(*args, **kwargs)

Skip test if current environment is CYGWIN (i.e., when is_cygwin() returns True).

@extra_platforms.pytest.skip_debian(*args, **kwargs)

Skip test if current environment is DEBIAN (i.e., when is_debian() returns True).

@extra_platforms.pytest.skip_dragonfly_bsd(*args, **kwargs)

Skip test if current environment is DRAGONFLY_BSD (i.e., when is_dragonfly_bsd() returns True).

@extra_platforms.pytest.skip_exherbo(*args, **kwargs)

Skip test if current environment is EXHERBO (i.e., when is_exherbo() returns True).

@extra_platforms.pytest.skip_fedora(*args, **kwargs)

Skip test if current environment is FEDORA (i.e., when is_fedora() returns True).

@extra_platforms.pytest.skip_freebsd(*args, **kwargs)

Skip test if current environment is FREEBSD (i.e., when is_freebsd() returns True).

@extra_platforms.pytest.skip_gentoo(*args, **kwargs)

Skip test if current environment is GENTOO (i.e., when is_gentoo() returns True).

@extra_platforms.pytest.skip_github_ci(*args, **kwargs)

Skip test if current environment is GITHUB_CI (i.e., when is_github_ci() returns True).

@extra_platforms.pytest.skip_gitlab_ci(*args, **kwargs)

Skip test if current environment is GITLAB_CI (i.e., when is_gitlab_ci() returns True).

@extra_platforms.pytest.skip_guix(*args, **kwargs)

Skip test if current environment is GUIX (i.e., when is_guix() returns True).

@extra_platforms.pytest.skip_haiku(*args, **kwargs)

Skip test if current environment is HAIKU (i.e., when is_haiku() returns True).

@extra_platforms.pytest.skip_heroku_ci(*args, **kwargs)

Skip test if current environment is HEROKU_CI (i.e., when is_heroku_ci() returns True).

@extra_platforms.pytest.skip_hurd(*args, **kwargs)

Skip test if current environment is HURD (i.e., when is_hurd() returns True).

@extra_platforms.pytest.skip_i386(*args, **kwargs)

Skip test if current environment is I386 (i.e., when is_i386() returns True).

@extra_platforms.pytest.skip_i586(*args, **kwargs)

Skip test if current environment is I586 (i.e., when is_i586() returns True).

@extra_platforms.pytest.skip_i686(*args, **kwargs)

Skip test if current environment is I686 (i.e., when is_i686() returns True).

@extra_platforms.pytest.skip_ibm_mainframe(*args, **kwargs)

Skip test if current environment matches any member of the IBM_MAINFRAME group (i.e., when is_ibm_mainframe() returns True).

@extra_platforms.pytest.skip_ibm_powerkvm(*args, **kwargs)

Skip test if current environment is IBM_POWERKVM (i.e., when is_ibm_powerkvm() returns True).

@extra_platforms.pytest.skip_illumos(*args, **kwargs)

Skip test if current environment is ILLUMOS (i.e., when is_illumos() returns True).

@extra_platforms.pytest.skip_kvmibm(*args, **kwargs)

Skip test if current environment is KVMIBM (i.e., when is_kvmibm() returns True).

@extra_platforms.pytest.skip_linux(*args, **kwargs)

Skip test if current environment matches any member of the LINUX group (i.e., when is_linux() returns True).

@extra_platforms.pytest.skip_linux_layers(*args, **kwargs)

Skip test if current environment matches any member of the LINUX_LAYERS group (i.e., when is_linux_layers() returns True).

@extra_platforms.pytest.skip_linux_like(*args, **kwargs)

Skip test if current environment matches any member of the LINUX_LIKE group (i.e., when is_linux_like() returns True).

@extra_platforms.pytest.skip_linuxmint(*args, **kwargs)

Skip test if current environment is LINUXMINT (i.e., when is_linuxmint() returns True).

@extra_platforms.pytest.skip_little_endian(*args, **kwargs)

Skip test if current environment matches any member of the LITTLE_ENDIAN group (i.e., when is_little_endian() returns True).

@extra_platforms.pytest.skip_loongarch(*args, **kwargs)

Skip test if current environment matches any member of the LOONGARCH group (i.e., when is_loongarch() returns True).

@extra_platforms.pytest.skip_loongarch64(*args, **kwargs)

Skip test if current environment is LOONGARCH64 (i.e., when is_loongarch64() returns True).

@extra_platforms.pytest.skip_macos(*args, **kwargs)

Skip test if current environment is MACOS (i.e., when is_macos() returns True).

@extra_platforms.pytest.skip_mageia(*args, **kwargs)

Skip test if current environment is MAGEIA (i.e., when is_mageia() returns True).

@extra_platforms.pytest.skip_mandriva(*args, **kwargs)

Skip test if current environment is MANDRIVA (i.e., when is_mandriva() returns True).

@extra_platforms.pytest.skip_midnightbsd(*args, **kwargs)

Skip test if current environment is MIDNIGHTBSD (i.e., when is_midnightbsd() returns True).

@extra_platforms.pytest.skip_mips(*args, **kwargs)

Skip test if current environment is MIPS (i.e., when is_mips() returns True).

@extra_platforms.pytest.skip_mips64(*args, **kwargs)

Skip test if current environment is MIPS64 (i.e., when is_mips64() returns True).

@extra_platforms.pytest.skip_mips64el(*args, **kwargs)

Skip test if current environment is MIPS64EL (i.e., when is_mips64el() returns True).

@extra_platforms.pytest.skip_mipsel(*args, **kwargs)

Skip test if current environment is MIPSEL (i.e., when is_mipsel() returns True).

@extra_platforms.pytest.skip_netbsd(*args, **kwargs)

Skip test if current environment is NETBSD (i.e., when is_netbsd() returns True).

@extra_platforms.pytest.skip_nobara(*args, **kwargs)

Skip test if current environment is NOBARA (i.e., when is_nobara() returns True).

@extra_platforms.pytest.skip_openbsd(*args, **kwargs)

Skip test if current environment is OPENBSD (i.e., when is_openbsd() returns True).

@extra_platforms.pytest.skip_opensuse(*args, **kwargs)

Skip test if current environment is OPENSUSE (i.e., when is_opensuse() returns True).

@extra_platforms.pytest.skip_oracle(*args, **kwargs)

Skip test if current environment is ORACLE (i.e., when is_oracle() returns True).

@extra_platforms.pytest.skip_other_posix(*args, **kwargs)

Skip test if current environment matches any member of the OTHER_POSIX group (i.e., when is_other_posix() returns True).

@extra_platforms.pytest.skip_parallels(*args, **kwargs)

Skip test if current environment is PARALLELS (i.e., when is_parallels() returns True).

@extra_platforms.pytest.skip_pidora(*args, **kwargs)

Skip test if current environment is PIDORA (i.e., when is_pidora() returns True).

@extra_platforms.pytest.skip_powerpc(*args, **kwargs)

Skip test if current environment matches any member of the POWERPC group (i.e., when is_powerpc() returns True).

@extra_platforms.pytest.skip_ppc(*args, **kwargs)

Skip test if current environment is PPC (i.e., when is_ppc() returns True).

@extra_platforms.pytest.skip_ppc64(*args, **kwargs)

Skip test if current environment is PPC64 (i.e., when is_ppc64() returns True).

@extra_platforms.pytest.skip_ppc64le(*args, **kwargs)

Skip test if current environment is PPC64LE (i.e., when is_ppc64le() returns True).

@extra_platforms.pytest.skip_raspbian(*args, **kwargs)

Skip test if current environment is RASPBIAN (i.e., when is_raspbian() returns True).

@extra_platforms.pytest.skip_rhel(*args, **kwargs)

Skip test if current environment is RHEL (i.e., when is_rhel() returns True).

@extra_platforms.pytest.skip_riscv(*args, **kwargs)

Skip test if current environment matches any member of the RISCV group (i.e., when is_riscv() returns True).

@extra_platforms.pytest.skip_riscv32(*args, **kwargs)

Skip test if current environment is RISCV32 (i.e., when is_riscv32() returns True).

@extra_platforms.pytest.skip_riscv64(*args, **kwargs)

Skip test if current environment is RISCV64 (i.e., when is_riscv64() returns True).

@extra_platforms.pytest.skip_rocky(*args, **kwargs)

Skip test if current environment is ROCKY (i.e., when is_rocky() returns True).

@extra_platforms.pytest.skip_s390x(*args, **kwargs)

Skip test if current environment is S390X (i.e., when is_s390x() returns True).

@extra_platforms.pytest.skip_scientific(*args, **kwargs)

Skip test if current environment is SCIENTIFIC (i.e., when is_scientific() returns True).

@extra_platforms.pytest.skip_slackware(*args, **kwargs)

Skip test if current environment is SLACKWARE (i.e., when is_slackware() returns True).

@extra_platforms.pytest.skip_sles(*args, **kwargs)

Skip test if current environment is SLES (i.e., when is_sles() returns True).

@extra_platforms.pytest.skip_solaris(*args, **kwargs)

Skip test if current environment is SOLARIS (i.e., when is_solaris() returns True).

@extra_platforms.pytest.skip_sparc(*args, **kwargs)

Skip test if current environment is SPARC (i.e., when is_sparc() returns True).

@extra_platforms.pytest.skip_sparc64(*args, **kwargs)

Skip test if current environment is SPARC64 (i.e., when is_sparc64() returns True).

@extra_platforms.pytest.skip_sunos(*args, **kwargs)

Skip test if current environment is SUNOS (i.e., when is_sunos() returns True).

@extra_platforms.pytest.skip_system_v(*args, **kwargs)

Skip test if current environment matches any member of the SYSTEM_V group (i.e., when is_system_v() returns True).

@extra_platforms.pytest.skip_teamcity(*args, **kwargs)

Skip test if current environment is TEAMCITY (i.e., when is_teamcity() returns True).

@extra_platforms.pytest.skip_travis_ci(*args, **kwargs)

Skip test if current environment is TRAVIS_CI (i.e., when is_travis_ci() returns True).

@extra_platforms.pytest.skip_tumbleweed(*args, **kwargs)

Skip test if current environment is TUMBLEWEED (i.e., when is_tumbleweed() returns True).

@extra_platforms.pytest.skip_tuxedo(*args, **kwargs)

Skip test if current environment is TUXEDO (i.e., when is_tuxedo() returns True).

@extra_platforms.pytest.skip_ubuntu(*args, **kwargs)

Skip test if current environment is UBUNTU (i.e., when is_ubuntu() returns True).

@extra_platforms.pytest.skip_ultramarine(*args, **kwargs)

Skip test if current environment is ULTRAMARINE (i.e., when is_ultramarine() returns True).

@extra_platforms.pytest.skip_unix(*args, **kwargs)

Skip test if current environment matches any member of the UNIX group (i.e., when is_unix() returns True).

@extra_platforms.pytest.skip_unix_layers(*args, **kwargs)

Skip test if current environment matches any member of the UNIX_LAYERS group (i.e., when is_unix_layers() returns True).

@extra_platforms.pytest.skip_unix_not_macos(*args, **kwargs)

Skip test if current environment matches any member of the UNIX_WITHOUT_MACOS group (i.e., when is_unix_not_macos() returns True).

@extra_platforms.pytest.skip_unknown(*args, **kwargs)

Skip test if current environment matches any member of the UNKNOWN group (i.e., when is_unknown() returns True).

@extra_platforms.pytest.skip_unknown_architecture(*args, **kwargs)

Skip test if current environment is UNKNOWN_ARCHITECTURE (i.e., when is_unknown_architecture() returns True).

@extra_platforms.pytest.skip_unknown_ci(*args, **kwargs)

Skip test if current environment is UNKNOWN_CI (i.e., when is_unknown_ci() returns True).

@extra_platforms.pytest.skip_unknown_platform(*args, **kwargs)

Skip test if current environment is UNKNOWN_PLATFORM (i.e., when is_unknown_platform() returns True).

@extra_platforms.pytest.skip_wasm32(*args, **kwargs)

Skip test if current environment is WASM32 (i.e., when is_wasm32() returns True).

@extra_platforms.pytest.skip_wasm64(*args, **kwargs)

Skip test if current environment is WASM64 (i.e., when is_wasm64() returns True).

@extra_platforms.pytest.skip_webassembly(*args, **kwargs)

Skip test if current environment matches any member of the WEBASSEMBLY group (i.e., when is_webassembly() returns True).

@extra_platforms.pytest.skip_windows(*args, **kwargs)

Skip test if current environment is WINDOWS (i.e., when is_windows() returns True).

@extra_platforms.pytest.skip_wsl1(*args, **kwargs)

Skip test if current environment is WSL1 (i.e., when is_wsl1() returns True).

@extra_platforms.pytest.skip_wsl2(*args, **kwargs)

Skip test if current environment is WSL2 (i.e., when is_wsl2() returns True).

@extra_platforms.pytest.skip_x86(*args, **kwargs)

Skip test if current environment matches any member of the X86 group (i.e., when is_x86() returns True).

@extra_platforms.pytest.skip_x86_64(*args, **kwargs)

Skip test if current environment is X86_64 (i.e., when is_x86_64() returns True).

@extra_platforms.pytest.skip_xenserver(*args, **kwargs)

Skip test if current environment is XENSERVER (i.e., when is_xenserver() returns True).

Unless decorators

@extra_platforms.pytest.unless_aarch64(*args, **kwargs)

Run test only if current environment is AARCH64 (i.e., when is_aarch64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_aix(*args, **kwargs)

Run test only if current environment is AIX (i.e., when is_aix() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_architecture(*args, **kwargs)

Run test only if current environment matches any member of the ALL_ARCHITECTURES group (i.e., when is_any_architecture() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_arm(*args, **kwargs)

Run test only if current environment matches any member of the ALL_ARM group (i.e., when is_any_arm() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_ci(*args, **kwargs)

Run test only if current environment matches any member of the ALL_CI group (i.e., when is_any_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_mips(*args, **kwargs)

Run test only if current environment matches any member of the ALL_MIPS group (i.e., when is_any_mips() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_platform(*args, **kwargs)

Run test only if current environment matches any member of the ALL_PLATFORMS group (i.e., when is_any_platform() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_sparc(*args, **kwargs)

Run test only if current environment matches any member of the ALL_SPARC group (i.e., when is_any_sparc() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_trait(*args, **kwargs)

Run test only if current environment matches any member of the ALL_TRAITS group (i.e., when is_any_trait() returns True). Skip otherwise.

@extra_platforms.pytest.unless_any_windows(*args, **kwargs)

Run test only if current environment matches any member of the ALL_WINDOWS group (i.e., when is_any_windows() returns True). Skip otherwise.

@extra_platforms.pytest.unless_altlinux(*args, **kwargs)

Run test only if current environment is ALTLINUX (i.e., when is_altlinux() returns True). Skip otherwise.

@extra_platforms.pytest.unless_amzn(*args, **kwargs)

Run test only if current environment is AMZN (i.e., when is_amzn() returns True). Skip otherwise.

@extra_platforms.pytest.unless_android(*args, **kwargs)

Run test only if current environment is ANDROID (i.e., when is_android() returns True). Skip otherwise.

@extra_platforms.pytest.unless_arch(*args, **kwargs)

Run test only if current environment is ARCH (i.e., when is_arch() returns True). Skip otherwise.

@extra_platforms.pytest.unless_arch_32_bit(*args, **kwargs)

Run test only if current environment matches any member of the ARCH_32_BIT group (i.e., when is_arch_32_bit() returns True). Skip otherwise.

@extra_platforms.pytest.unless_arch_64_bit(*args, **kwargs)

Run test only if current environment matches any member of the ARCH_64_BIT group (i.e., when is_arch_64_bit() returns True). Skip otherwise.

@extra_platforms.pytest.unless_arm(*args, **kwargs)

Run test only if current environment is ARM (i.e., when is_arm() returns True). Skip otherwise.

@extra_platforms.pytest.unless_armv5tel(*args, **kwargs)

Run test only if current environment is ARMV5TEL (i.e., when is_armv5tel() returns True). Skip otherwise.

@extra_platforms.pytest.unless_armv6l(*args, **kwargs)

Run test only if current environment is ARMV6L (i.e., when is_armv6l() returns True). Skip otherwise.

@extra_platforms.pytest.unless_armv7l(*args, **kwargs)

Run test only if current environment is ARMV7L (i.e., when is_armv7l() returns True). Skip otherwise.

@extra_platforms.pytest.unless_armv8l(*args, **kwargs)

Run test only if current environment is ARMV8L (i.e., when is_armv8l() returns True). Skip otherwise.

@extra_platforms.pytest.unless_azure_pipelines(*args, **kwargs)

Run test only if current environment is AZURE_PIPELINES (i.e., when is_azure_pipelines() returns True). Skip otherwise.

@extra_platforms.pytest.unless_bamboo(*args, **kwargs)

Run test only if current environment is BAMBOO (i.e., when is_bamboo() returns True). Skip otherwise.

@extra_platforms.pytest.unless_big_endian(*args, **kwargs)

Run test only if current environment matches any member of the BIG_ENDIAN group (i.e., when is_big_endian() returns True). Skip otherwise.

@extra_platforms.pytest.unless_bsd(*args, **kwargs)

Run test only if current environment matches any member of the BSD group (i.e., when is_bsd() returns True). Skip otherwise.

@extra_platforms.pytest.unless_bsd_not_macos(*args, **kwargs)

Run test only if current environment matches any member of the BSD_WITHOUT_MACOS group (i.e., when is_bsd_not_macos() returns True). Skip otherwise.

@extra_platforms.pytest.unless_buildkite(*args, **kwargs)

Run test only if current environment is BUILDKITE (i.e., when is_buildkite() returns True). Skip otherwise.

@extra_platforms.pytest.unless_buildroot(*args, **kwargs)

Run test only if current environment is BUILDROOT (i.e., when is_buildroot() returns True). Skip otherwise.

@extra_platforms.pytest.unless_cachyos(*args, **kwargs)

Run test only if current environment is CACHYOS (i.e., when is_cachyos() returns True). Skip otherwise.

@extra_platforms.pytest.unless_centos(*args, **kwargs)

Run test only if current environment is CENTOS (i.e., when is_centos() returns True). Skip otherwise.

@extra_platforms.pytest.unless_circle_ci(*args, **kwargs)

Run test only if current environment is CIRCLE_CI (i.e., when is_circle_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_cirrus_ci(*args, **kwargs)

Run test only if current environment is CIRRUS_CI (i.e., when is_cirrus_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_cloudlinux(*args, **kwargs)

Run test only if current environment is CLOUDLINUX (i.e., when is_cloudlinux() returns True). Skip otherwise.

@extra_platforms.pytest.unless_codebuild(*args, **kwargs)

Run test only if current environment is CODEBUILD (i.e., when is_codebuild() returns True). Skip otherwise.

@extra_platforms.pytest.unless_cygwin(*args, **kwargs)

Run test only if current environment is CYGWIN (i.e., when is_cygwin() returns True). Skip otherwise.

@extra_platforms.pytest.unless_debian(*args, **kwargs)

Run test only if current environment is DEBIAN (i.e., when is_debian() returns True). Skip otherwise.

@extra_platforms.pytest.unless_dragonfly_bsd(*args, **kwargs)

Run test only if current environment is DRAGONFLY_BSD (i.e., when is_dragonfly_bsd() returns True). Skip otherwise.

@extra_platforms.pytest.unless_exherbo(*args, **kwargs)

Run test only if current environment is EXHERBO (i.e., when is_exherbo() returns True). Skip otherwise.

@extra_platforms.pytest.unless_fedora(*args, **kwargs)

Run test only if current environment is FEDORA (i.e., when is_fedora() returns True). Skip otherwise.

@extra_platforms.pytest.unless_freebsd(*args, **kwargs)

Run test only if current environment is FREEBSD (i.e., when is_freebsd() returns True). Skip otherwise.

@extra_platforms.pytest.unless_gentoo(*args, **kwargs)

Run test only if current environment is GENTOO (i.e., when is_gentoo() returns True). Skip otherwise.

@extra_platforms.pytest.unless_github_ci(*args, **kwargs)

Run test only if current environment is GITHUB_CI (i.e., when is_github_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_gitlab_ci(*args, **kwargs)

Run test only if current environment is GITLAB_CI (i.e., when is_gitlab_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_guix(*args, **kwargs)

Run test only if current environment is GUIX (i.e., when is_guix() returns True). Skip otherwise.

@extra_platforms.pytest.unless_haiku(*args, **kwargs)

Run test only if current environment is HAIKU (i.e., when is_haiku() returns True). Skip otherwise.

@extra_platforms.pytest.unless_heroku_ci(*args, **kwargs)

Run test only if current environment is HEROKU_CI (i.e., when is_heroku_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_hurd(*args, **kwargs)

Run test only if current environment is HURD (i.e., when is_hurd() returns True). Skip otherwise.

@extra_platforms.pytest.unless_i386(*args, **kwargs)

Run test only if current environment is I386 (i.e., when is_i386() returns True). Skip otherwise.

@extra_platforms.pytest.unless_i586(*args, **kwargs)

Run test only if current environment is I586 (i.e., when is_i586() returns True). Skip otherwise.

@extra_platforms.pytest.unless_i686(*args, **kwargs)

Run test only if current environment is I686 (i.e., when is_i686() returns True). Skip otherwise.

@extra_platforms.pytest.unless_ibm_mainframe(*args, **kwargs)

Run test only if current environment matches any member of the IBM_MAINFRAME group (i.e., when is_ibm_mainframe() returns True). Skip otherwise.

@extra_platforms.pytest.unless_ibm_powerkvm(*args, **kwargs)

Run test only if current environment is IBM_POWERKVM (i.e., when is_ibm_powerkvm() returns True). Skip otherwise.

@extra_platforms.pytest.unless_illumos(*args, **kwargs)

Run test only if current environment is ILLUMOS (i.e., when is_illumos() returns True). Skip otherwise.

@extra_platforms.pytest.unless_kvmibm(*args, **kwargs)

Run test only if current environment is KVMIBM (i.e., when is_kvmibm() returns True). Skip otherwise.

@extra_platforms.pytest.unless_linux(*args, **kwargs)

Run test only if current environment matches any member of the LINUX group (i.e., when is_linux() returns True). Skip otherwise.

@extra_platforms.pytest.unless_linux_layers(*args, **kwargs)

Run test only if current environment matches any member of the LINUX_LAYERS group (i.e., when is_linux_layers() returns True). Skip otherwise.

@extra_platforms.pytest.unless_linux_like(*args, **kwargs)

Run test only if current environment matches any member of the LINUX_LIKE group (i.e., when is_linux_like() returns True). Skip otherwise.

@extra_platforms.pytest.unless_linuxmint(*args, **kwargs)

Run test only if current environment is LINUXMINT (i.e., when is_linuxmint() returns True). Skip otherwise.

@extra_platforms.pytest.unless_little_endian(*args, **kwargs)

Run test only if current environment matches any member of the LITTLE_ENDIAN group (i.e., when is_little_endian() returns True). Skip otherwise.

@extra_platforms.pytest.unless_loongarch(*args, **kwargs)

Run test only if current environment matches any member of the LOONGARCH group (i.e., when is_loongarch() returns True). Skip otherwise.

@extra_platforms.pytest.unless_loongarch64(*args, **kwargs)

Run test only if current environment is LOONGARCH64 (i.e., when is_loongarch64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_macos(*args, **kwargs)

Run test only if current environment is MACOS (i.e., when is_macos() returns True). Skip otherwise.

@extra_platforms.pytest.unless_mageia(*args, **kwargs)

Run test only if current environment is MAGEIA (i.e., when is_mageia() returns True). Skip otherwise.

@extra_platforms.pytest.unless_mandriva(*args, **kwargs)

Run test only if current environment is MANDRIVA (i.e., when is_mandriva() returns True). Skip otherwise.

@extra_platforms.pytest.unless_midnightbsd(*args, **kwargs)

Run test only if current environment is MIDNIGHTBSD (i.e., when is_midnightbsd() returns True). Skip otherwise.

@extra_platforms.pytest.unless_mips(*args, **kwargs)

Run test only if current environment is MIPS (i.e., when is_mips() returns True). Skip otherwise.

@extra_platforms.pytest.unless_mips64(*args, **kwargs)

Run test only if current environment is MIPS64 (i.e., when is_mips64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_mips64el(*args, **kwargs)

Run test only if current environment is MIPS64EL (i.e., when is_mips64el() returns True). Skip otherwise.

@extra_platforms.pytest.unless_mipsel(*args, **kwargs)

Run test only if current environment is MIPSEL (i.e., when is_mipsel() returns True). Skip otherwise.

@extra_platforms.pytest.unless_netbsd(*args, **kwargs)

Run test only if current environment is NETBSD (i.e., when is_netbsd() returns True). Skip otherwise.

@extra_platforms.pytest.unless_nobara(*args, **kwargs)

Run test only if current environment is NOBARA (i.e., when is_nobara() returns True). Skip otherwise.

@extra_platforms.pytest.unless_openbsd(*args, **kwargs)

Run test only if current environment is OPENBSD (i.e., when is_openbsd() returns True). Skip otherwise.

@extra_platforms.pytest.unless_opensuse(*args, **kwargs)

Run test only if current environment is OPENSUSE (i.e., when is_opensuse() returns True). Skip otherwise.

@extra_platforms.pytest.unless_oracle(*args, **kwargs)

Run test only if current environment is ORACLE (i.e., when is_oracle() returns True). Skip otherwise.

@extra_platforms.pytest.unless_other_posix(*args, **kwargs)

Run test only if current environment matches any member of the OTHER_POSIX group (i.e., when is_other_posix() returns True). Skip otherwise.

@extra_platforms.pytest.unless_parallels(*args, **kwargs)

Run test only if current environment is PARALLELS (i.e., when is_parallels() returns True). Skip otherwise.

@extra_platforms.pytest.unless_pidora(*args, **kwargs)

Run test only if current environment is PIDORA (i.e., when is_pidora() returns True). Skip otherwise.

@extra_platforms.pytest.unless_powerpc(*args, **kwargs)

Run test only if current environment matches any member of the POWERPC group (i.e., when is_powerpc() returns True). Skip otherwise.

@extra_platforms.pytest.unless_ppc(*args, **kwargs)

Run test only if current environment is PPC (i.e., when is_ppc() returns True). Skip otherwise.

@extra_platforms.pytest.unless_ppc64(*args, **kwargs)

Run test only if current environment is PPC64 (i.e., when is_ppc64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_ppc64le(*args, **kwargs)

Run test only if current environment is PPC64LE (i.e., when is_ppc64le() returns True). Skip otherwise.

@extra_platforms.pytest.unless_raspbian(*args, **kwargs)

Run test only if current environment is RASPBIAN (i.e., when is_raspbian() returns True). Skip otherwise.

@extra_platforms.pytest.unless_rhel(*args, **kwargs)

Run test only if current environment is RHEL (i.e., when is_rhel() returns True). Skip otherwise.

@extra_platforms.pytest.unless_riscv(*args, **kwargs)

Run test only if current environment matches any member of the RISCV group (i.e., when is_riscv() returns True). Skip otherwise.

@extra_platforms.pytest.unless_riscv32(*args, **kwargs)

Run test only if current environment is RISCV32 (i.e., when is_riscv32() returns True). Skip otherwise.

@extra_platforms.pytest.unless_riscv64(*args, **kwargs)

Run test only if current environment is RISCV64 (i.e., when is_riscv64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_rocky(*args, **kwargs)

Run test only if current environment is ROCKY (i.e., when is_rocky() returns True). Skip otherwise.

@extra_platforms.pytest.unless_s390x(*args, **kwargs)

Run test only if current environment is S390X (i.e., when is_s390x() returns True). Skip otherwise.

@extra_platforms.pytest.unless_scientific(*args, **kwargs)

Run test only if current environment is SCIENTIFIC (i.e., when is_scientific() returns True). Skip otherwise.

@extra_platforms.pytest.unless_slackware(*args, **kwargs)

Run test only if current environment is SLACKWARE (i.e., when is_slackware() returns True). Skip otherwise.

@extra_platforms.pytest.unless_sles(*args, **kwargs)

Run test only if current environment is SLES (i.e., when is_sles() returns True). Skip otherwise.

@extra_platforms.pytest.unless_solaris(*args, **kwargs)

Run test only if current environment is SOLARIS (i.e., when is_solaris() returns True). Skip otherwise.

@extra_platforms.pytest.unless_sparc(*args, **kwargs)

Run test only if current environment is SPARC (i.e., when is_sparc() returns True). Skip otherwise.

@extra_platforms.pytest.unless_sparc64(*args, **kwargs)

Run test only if current environment is SPARC64 (i.e., when is_sparc64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_sunos(*args, **kwargs)

Run test only if current environment is SUNOS (i.e., when is_sunos() returns True). Skip otherwise.

@extra_platforms.pytest.unless_system_v(*args, **kwargs)

Run test only if current environment matches any member of the SYSTEM_V group (i.e., when is_system_v() returns True). Skip otherwise.

@extra_platforms.pytest.unless_teamcity(*args, **kwargs)

Run test only if current environment is TEAMCITY (i.e., when is_teamcity() returns True). Skip otherwise.

@extra_platforms.pytest.unless_travis_ci(*args, **kwargs)

Run test only if current environment is TRAVIS_CI (i.e., when is_travis_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_tumbleweed(*args, **kwargs)

Run test only if current environment is TUMBLEWEED (i.e., when is_tumbleweed() returns True). Skip otherwise.

@extra_platforms.pytest.unless_tuxedo(*args, **kwargs)

Run test only if current environment is TUXEDO (i.e., when is_tuxedo() returns True). Skip otherwise.

@extra_platforms.pytest.unless_ubuntu(*args, **kwargs)

Run test only if current environment is UBUNTU (i.e., when is_ubuntu() returns True). Skip otherwise.

@extra_platforms.pytest.unless_ultramarine(*args, **kwargs)

Run test only if current environment is ULTRAMARINE (i.e., when is_ultramarine() returns True). Skip otherwise.

@extra_platforms.pytest.unless_unix(*args, **kwargs)

Run test only if current environment matches any member of the UNIX group (i.e., when is_unix() returns True). Skip otherwise.

@extra_platforms.pytest.unless_unix_layers(*args, **kwargs)

Run test only if current environment matches any member of the UNIX_LAYERS group (i.e., when is_unix_layers() returns True). Skip otherwise.

@extra_platforms.pytest.unless_unix_not_macos(*args, **kwargs)

Run test only if current environment matches any member of the UNIX_WITHOUT_MACOS group (i.e., when is_unix_not_macos() returns True). Skip otherwise.

@extra_platforms.pytest.unless_unknown(*args, **kwargs)

Run test only if current environment matches any member of the UNKNOWN group (i.e., when is_unknown() returns True). Skip otherwise.

@extra_platforms.pytest.unless_unknown_architecture(*args, **kwargs)

Run test only if current environment is UNKNOWN_ARCHITECTURE (i.e., when is_unknown_architecture() returns True). Skip otherwise.

@extra_platforms.pytest.unless_unknown_ci(*args, **kwargs)

Run test only if current environment is UNKNOWN_CI (i.e., when is_unknown_ci() returns True). Skip otherwise.

@extra_platforms.pytest.unless_unknown_platform(*args, **kwargs)

Run test only if current environment is UNKNOWN_PLATFORM (i.e., when is_unknown_platform() returns True). Skip otherwise.

@extra_platforms.pytest.unless_wasm32(*args, **kwargs)

Run test only if current environment is WASM32 (i.e., when is_wasm32() returns True). Skip otherwise.

@extra_platforms.pytest.unless_wasm64(*args, **kwargs)

Run test only if current environment is WASM64 (i.e., when is_wasm64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_webassembly(*args, **kwargs)

Run test only if current environment matches any member of the WEBASSEMBLY group (i.e., when is_webassembly() returns True). Skip otherwise.

@extra_platforms.pytest.unless_windows(*args, **kwargs)

Run test only if current environment is WINDOWS (i.e., when is_windows() returns True). Skip otherwise.

@extra_platforms.pytest.unless_wsl1(*args, **kwargs)

Run test only if current environment is WSL1 (i.e., when is_wsl1() returns True). Skip otherwise.

@extra_platforms.pytest.unless_wsl2(*args, **kwargs)

Run test only if current environment is WSL2 (i.e., when is_wsl2() returns True). Skip otherwise.

@extra_platforms.pytest.unless_x86(*args, **kwargs)

Run test only if current environment matches any member of the X86 group (i.e., when is_x86() returns True). Skip otherwise.

@extra_platforms.pytest.unless_x86_64(*args, **kwargs)

Run test only if current environment is X86_64 (i.e., when is_x86_64() returns True). Skip otherwise.

@extra_platforms.pytest.unless_xenserver(*args, **kwargs)

Run test only if current environment is XENSERVER (i.e., when is_xenserver() returns True). Skip otherwise.