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_alacritty

@unless_alacritty

🔳

ALACRITTY

@skip_all_agents

@unless_any_agent

🧠

ALL_AGENTS

@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_shells

@unless_any_shell

🐚

ALL_SHELLS

@skip_all_sparc

@unless_any_sparc

☀️

ALL_SPARC

@skip_all_terminals

@unless_any_terminal

💻

ALL_TERMINALS

@skip_all_traits

@unless_any_trait

ALL_TRAITS

@skip_all_windows

@unless_any_windows

🪟

ALL_WINDOWS

@skip_alpine

@unless_alpine

🏔️

ALPINE

@skip_altlinux

@unless_altlinux

Δ

ALTLINUX

@skip_amzn

@unless_amzn

AMZN

@skip_android

@unless_android

🤖

ANDROID

@skip_apple_terminal

@unless_apple_terminal

🍏

APPLE_TERMINAL

@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_ash

@unless_ash

🪶

ASH

@skip_azure_pipelines

@unless_azure_pipelines

AZURE_PIPELINES

@skip_bamboo

@unless_bamboo

BAMBOO

@skip_bash

@unless_bash

BASH

@skip_big_endian

@unless_big_endian

⬆️

BIG_ENDIAN

@skip_bourne_shells

@unless_bourne_shells

💲

BOURNE_SHELLS

@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_c_shells

@unless_c_shells

🅲

C_SHELLS

@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_claude_code

@unless_claude_code

✴️

CLAUDE_CODE

@skip_cline

@unless_cline

👾

CLINE

@skip_cloudlinux

@unless_cloudlinux

CLOUDLINUX

@skip_cmd

@unless_cmd

CMD

@skip_codebuild

@unless_codebuild

CODEBUILD

@skip_contour

@unless_contour

CONTOUR

@skip_csh

@unless_csh

𝐂

CSH

@skip_cursor

@unless_cursor

CURSOR

@skip_cygwin

@unless_cygwin

Ͼ

CYGWIN

@skip_dash

@unless_dash

💨

DASH

@skip_debian

@unless_debian

🌀

DEBIAN

@skip_dragonfly_bsd

@unless_dragonfly_bsd

🪰

DRAGONFLY_BSD

@skip_exherbo

@unless_exherbo

🐽

EXHERBO

@skip_fedora

@unless_fedora

🎩

FEDORA

@skip_fish

@unless_fish

🐟

FISH

@skip_foot

@unless_foot

🦶

FOOT

@skip_freebsd

@unless_freebsd

😈

FREEBSD

@skip_generic_linux

@unless_generic_linux

🥚

GENERIC_LINUX

@skip_gentoo

@unless_gentoo

🗜️

GENTOO

@skip_ghostty

@unless_ghostty

👻

GHOSTTY

@skip_github_ci

@unless_github_ci

🐙

GITHUB_CI

@skip_gitlab_ci

@unless_gitlab_ci

🦊

GITLAB_CI

@skip_gnome_terminal

@unless_gnome_terminal

𝐆

GNOME_TERMINAL

@skip_gnu_screen

@unless_gnu_screen

📺

GNU_SCREEN

@skip_gpu_terminals

@unless_gpu_terminals

🎮

GPU_TERMINALS

@skip_guix

@unless_guix

🐃

GUIX

@skip_haiku

@unless_haiku

🍂

HAIKU

@skip_heroku_ci

@unless_heroku_ci

HEROKU_CI

@skip_hurd

@unless_hurd

🦬

HURD

@skip_hyper

@unless_hyper

HYPER

@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_iterm2

@unless_iterm2

ITERM2

@skip_kali

@unless_kali

🔱

KALI

@skip_kitty

@unless_kitty

🐱

KITTY

@skip_konsole

@unless_konsole

💎

KONSOLE

@skip_ksh

@unless_ksh

𝐊

KSH

@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_manjaro

@unless_manjaro

MANJARO

@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_multiplexers

@unless_multiplexers

MULTIPLEXERS

@skip_native_terminals

@unless_native_terminals

NATIVE_TERMINALS

@skip_netbsd

@unless_netbsd

🚩

NETBSD

@skip_nobara

@unless_nobara

NOBARA

@skip_nushell

@unless_nushell

𝜈

NUSHELL

@skip_openbsd

@unless_openbsd

🐡

OPENBSD

@skip_opensuse

@unless_opensuse

🦎

OPENSUSE

@skip_openwrt

@unless_openwrt

📶

OPENWRT

@skip_oracle

@unless_oracle

🦴

ORACLE

@skip_other_posix

@unless_other_posix

🅟

OTHER_POSIX

@skip_other_shells

@unless_other_shells

OTHER_SHELLS

@skip_parallels

@unless_parallels

PARALLELS

@skip_pidora

@unless_pidora

🍓

PIDORA

@skip_powerpc

@unless_powerpc

POWERPC

@skip_powershell

@unless_powershell

🔷

POWERSHELL

@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_rio

@unless_rio

🏞️

RIO

@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_tabby

@unless_tabby

🐈

TABBY

@skip_tcsh

@unless_tcsh

𝐓

TCSH

@skip_teamcity

@unless_teamcity

🏙️

TEAMCITY

@skip_tilix

@unless_tilix

🔀

TILIX

@skip_tmux

@unless_tmux

📟

TMUX

@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_agent

@unless_unknown_agent

UNKNOWN_AGENT

@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_unknown_shell

@unless_unknown_shell

UNKNOWN_SHELL

@skip_unknown_terminal

@unless_unknown_terminal

UNKNOWN_TERMINAL

@skip_vscode_terminal

@unless_vscode_terminal

🔵

VSCODE_TERMINAL

@skip_wasm32

@unless_wasm32

🌐

WASM32

@skip_wasm64

@unless_wasm64

🌐

WASM64

@skip_web_terminals

@unless_web_terminals

WEB_TERMINALS

@skip_webassembly

@unless_webassembly

🌐

WEBASSEMBLY

@skip_wezterm

@unless_wezterm

🔡

WEZTERM

@skip_windows

@unless_windows

🪟

WINDOWS

@skip_windows_shells

@unless_windows_shells

⌨️

WINDOWS_SHELLS

@skip_windows_terminal

@unless_windows_terminal

WINDOWS_TERMINAL

@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_xonsh

@unless_xonsh

🐍

XONSH

@skip_xterm

@unless_xterm

𝐗

XTERM

@skip_zellij

@unless_zellij

🪵

ZELLIJ

@skip_zsh

@unless_zsh

ZSH

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_alacritty(*args, **kwargs)

Skip test if current environment is ALACRITTY (i.e., when is_alacritty() returns True).

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

Skip test if current environment matches any member of the ALL_AGENTS group (i.e., when is_any_agent() 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_shells(*args, **kwargs)

Skip test if current environment matches any member of the ALL_SHELLS group (i.e., when is_any_shell() 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_terminals(*args, **kwargs)

Skip test if current environment matches any member of the ALL_TERMINALS group (i.e., when is_any_terminal() 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_alpine(*args, **kwargs)

Skip test if current environment is ALPINE (i.e., when is_alpine() 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_apple_terminal(*args, **kwargs)

Skip test if current environment is APPLE_TERMINAL (i.e., when is_apple_terminal() 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_ash(*args, **kwargs)

Skip test if current environment is ASH (i.e., when is_ash() 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_bash(*args, **kwargs)

Skip test if current environment is BASH (i.e., when is_bash() 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_bourne_shells(*args, **kwargs)

Skip test if current environment matches any member of the BOURNE_SHELLS group (i.e., when is_bourne_shells() 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_c_shells(*args, **kwargs)

Skip test if current environment matches any member of the C_SHELLS group (i.e., when is_c_shells() 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_claude_code(*args, **kwargs)

Skip test if current environment is CLAUDE_CODE (i.e., when is_claude_code() returns True).

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

Skip test if current environment is CLINE (i.e., when is_cline() 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_cmd(*args, **kwargs)

Skip test if current environment is CMD (i.e., when is_cmd() 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_contour(*args, **kwargs)

Skip test if current environment is CONTOUR (i.e., when is_contour() returns True).

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

Skip test if current environment is CSH (i.e., when is_csh() returns True).

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

Skip test if current environment is CURSOR (i.e., when is_cursor() 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_dash(*args, **kwargs)

Skip test if current environment is DASH (i.e., when is_dash() 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_fish(*args, **kwargs)

Skip test if current environment is FISH (i.e., when is_fish() returns True).

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

Skip test if current environment is FOOT (i.e., when is_foot() 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_generic_linux(*args, **kwargs)

Skip test if current environment is GENERIC_LINUX (i.e., when is_generic_linux() 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_ghostty(*args, **kwargs)

Skip test if current environment is GHOSTTY (i.e., when is_ghostty() 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_gnome_terminal(*args, **kwargs)

Skip test if current environment is GNOME_TERMINAL (i.e., when is_gnome_terminal() returns True).

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

Skip test if current environment is GNU_SCREEN (i.e., when is_gnu_screen() returns True).

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

Skip test if current environment matches any member of the GPU_TERMINALS group (i.e., when is_gpu_terminals() 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_hyper(*args, **kwargs)

Skip test if current environment is HYPER (i.e., when is_hyper() 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_iterm2(*args, **kwargs)

Skip test if current environment is ITERM2 (i.e., when is_iterm2() returns True).

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

Skip test if current environment is KALI (i.e., when is_kali() returns True).

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

Skip test if current environment is KITTY (i.e., when is_kitty() returns True).

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

Skip test if current environment is KONSOLE (i.e., when is_konsole() returns True).

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

Skip test if current environment is KSH (i.e., when is_ksh() 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_manjaro(*args, **kwargs)

Skip test if current environment is MANJARO (i.e., when is_manjaro() 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_multiplexers(*args, **kwargs)

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

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

Skip test if current environment matches any member of the NATIVE_TERMINALS group (i.e., when is_native_terminals() 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_nushell(*args, **kwargs)

Skip test if current environment is NUSHELL (i.e., when is_nushell() 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_openwrt(*args, **kwargs)

Skip test if current environment is OPENWRT (i.e., when is_openwrt() 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_other_shells(*args, **kwargs)

Skip test if current environment matches any member of the OTHER_SHELLS group (i.e., when is_other_shells() 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_powershell(*args, **kwargs)

Skip test if current environment is POWERSHELL (i.e., when is_powershell() 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_rio(*args, **kwargs)

Skip test if current environment is RIO (i.e., when is_rio() 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_tabby(*args, **kwargs)

Skip test if current environment is TABBY (i.e., when is_tabby() returns True).

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

Skip test if current environment is TCSH (i.e., when is_tcsh() 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_tilix(*args, **kwargs)

Skip test if current environment is TILIX (i.e., when is_tilix() returns True).

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

Skip test if current environment is TMUX (i.e., when is_tmux() 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_agent(*args, **kwargs)

Skip test if current environment is UNKNOWN_AGENT (i.e., when is_unknown_agent() 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_unknown_shell(*args, **kwargs)

Skip test if current environment is UNKNOWN_SHELL (i.e., when is_unknown_shell() returns True).

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

Skip test if current environment is UNKNOWN_TERMINAL (i.e., when is_unknown_terminal() returns True).

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

Skip test if current environment is VSCODE_TERMINAL (i.e., when is_vscode_terminal() 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_web_terminals(*args, **kwargs)

Skip test if current environment matches any member of the WEB_TERMINALS group (i.e., when is_web_terminals() 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_wezterm(*args, **kwargs)

Skip test if current environment is WEZTERM (i.e., when is_wezterm() 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_windows_shells(*args, **kwargs)

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

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

Skip test if current environment is WINDOWS_TERMINAL (i.e., when is_windows_terminal() 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).

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

Skip test if current environment is XONSH (i.e., when is_xonsh() returns True).

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

Skip test if current environment is XTERM (i.e., when is_xterm() returns True).

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

Skip test if current environment is ZELLIJ (i.e., when is_zellij() returns True).

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

Skip test if current environment is ZSH (i.e., when is_zsh() 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_alacritty(*args, **kwargs)

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

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

Run test only if current environment matches any member of the ALL_AGENTS group (i.e., when is_any_agent() 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_shell(*args, **kwargs)

Run test only if current environment matches any member of the ALL_SHELLS group (i.e., when is_any_shell() 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_terminal(*args, **kwargs)

Run test only if current environment matches any member of the ALL_TERMINALS group (i.e., when is_any_terminal() 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_alpine(*args, **kwargs)

Run test only if current environment is ALPINE (i.e., when is_alpine() 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_apple_terminal(*args, **kwargs)

Run test only if current environment is APPLE_TERMINAL (i.e., when is_apple_terminal() 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_ash(*args, **kwargs)

Run test only if current environment is ASH (i.e., when is_ash() 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_bash(*args, **kwargs)

Run test only if current environment is BASH (i.e., when is_bash() 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_bourne_shells(*args, **kwargs)

Run test only if current environment matches any member of the BOURNE_SHELLS group (i.e., when is_bourne_shells() 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_c_shells(*args, **kwargs)

Run test only if current environment matches any member of the C_SHELLS group (i.e., when is_c_shells() 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_claude_code(*args, **kwargs)

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

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

Run test only if current environment is CLINE (i.e., when is_cline() 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_cmd(*args, **kwargs)

Run test only if current environment is CMD (i.e., when is_cmd() 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_contour(*args, **kwargs)

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

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

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

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

Run test only if current environment is CURSOR (i.e., when is_cursor() 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_dash(*args, **kwargs)

Run test only if current environment is DASH (i.e., when is_dash() 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_fish(*args, **kwargs)

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

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

Run test only if current environment is FOOT (i.e., when is_foot() 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_generic_linux(*args, **kwargs)

Run test only if current environment is GENERIC_LINUX (i.e., when is_generic_linux() 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_ghostty(*args, **kwargs)

Run test only if current environment is GHOSTTY (i.e., when is_ghostty() 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_gnome_terminal(*args, **kwargs)

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

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

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

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

Run test only if current environment matches any member of the GPU_TERMINALS group (i.e., when is_gpu_terminals() 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_hyper(*args, **kwargs)

Run test only if current environment is HYPER (i.e., when is_hyper() 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_iterm2(*args, **kwargs)

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

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

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

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

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

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

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

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

Run test only if current environment is KSH (i.e., when is_ksh() 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_manjaro(*args, **kwargs)

Run test only if current environment is MANJARO (i.e., when is_manjaro() 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_multiplexers(*args, **kwargs)

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

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

Run test only if current environment matches any member of the NATIVE_TERMINALS group (i.e., when is_native_terminals() 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_nushell(*args, **kwargs)

Run test only if current environment is NUSHELL (i.e., when is_nushell() 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_openwrt(*args, **kwargs)

Run test only if current environment is OPENWRT (i.e., when is_openwrt() 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_other_shells(*args, **kwargs)

Run test only if current environment matches any member of the OTHER_SHELLS group (i.e., when is_other_shells() 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_powershell(*args, **kwargs)

Run test only if current environment is POWERSHELL (i.e., when is_powershell() 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_rio(*args, **kwargs)

Run test only if current environment is RIO (i.e., when is_rio() 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_tabby(*args, **kwargs)

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

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

Run test only if current environment is TCSH (i.e., when is_tcsh() 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_tilix(*args, **kwargs)

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

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

Run test only if current environment is TMUX (i.e., when is_tmux() 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_agent(*args, **kwargs)

Run test only if current environment is UNKNOWN_AGENT (i.e., when is_unknown_agent() 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_unknown_shell(*args, **kwargs)

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

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

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

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

Run test only if current environment is VSCODE_TERMINAL (i.e., when is_vscode_terminal() 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_web_terminals(*args, **kwargs)

Run test only if current environment matches any member of the WEB_TERMINALS group (i.e., when is_web_terminals() 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_wezterm(*args, **kwargs)

Run test only if current environment is WEZTERM (i.e., when is_wezterm() 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_windows_shells(*args, **kwargs)

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

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

Run test only if current environment is WINDOWS_TERMINAL (i.e., when is_windows_terminal() 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.

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

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

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

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

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

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

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

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