lib-detect-testenv 3.0.6__tar.gz → 3.0.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/CHANGELOG.md +15 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/PKG-INFO +12 -6
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/README.md +6 -2
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/docs/systemdesign/module_reference.md +11 -8
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/pyproject.toml +10 -5
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/__init__conf__.py +1 -1
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/lib_detect_testenv.py +19 -2
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_lib_detect_testenv.py +39 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/.gitignore +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/LICENSE +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/__init__.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/__main__.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/behaviors.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/cli.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/py.typed +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/safe_console.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/typed_click.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/conftest.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_behaviors.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_cli.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_metadata.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_module_entry.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_packaging.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_platform_markers.py +0 -0
- {lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/tests/test_safe_console.py +0 -0
|
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.0.7] 2026-10-29 00:44:33
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- `is_pytest_active()` and `is_testenv_active()` called without an `arg_string` return `True`
|
|
15
|
+
inside a pytest-xdist worker. A worker runs as `python -c`, so its `sys.argv` names neither
|
|
16
|
+
pytest nor a test file and both returned `False` there; they now also check the
|
|
17
|
+
`PYTEST_XDIST_WORKER` variable xdist sets in every worker. A call given an `arg_string` is still
|
|
18
|
+
judged on that string alone.
|
|
19
|
+
|
|
20
|
+
### Tests
|
|
21
|
+
|
|
22
|
+
- The suite runs in parallel: `pytest-xdist` joins the dev extra and the `workers = 1` setting that
|
|
23
|
+
kept `make test` serial is gone.
|
|
24
|
+
|
|
10
25
|
## [3.0.6] 2026-10-15 16:35:25
|
|
11
26
|
|
|
12
27
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lib_detect_testenv
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.7
|
|
4
4
|
Summary: Detect test environment - pytest, doctest, unittest, or regular execution
|
|
5
5
|
Project-URL: Homepage, https://github.com/bitranox/lib_detect_testenv
|
|
6
6
|
Project-URL: Repository, https://github.com/bitranox/lib_detect_testenv.git
|
|
@@ -27,6 +27,7 @@ Provides-Extra: dev
|
|
|
27
27
|
Requires-Dist: bandit<1.9,>=1.8.6; (python_version < '3.10') and extra == 'dev'
|
|
28
28
|
Requires-Dist: bandit>=1.9.4; (python_version >= '3.10') and extra == 'dev'
|
|
29
29
|
Requires-Dist: build>=1.6.1; extra == 'dev'
|
|
30
|
+
Requires-Dist: certifi>=2026.10.23; extra == 'dev'
|
|
30
31
|
Requires-Dist: click>=8.5.0; extra == 'dev'
|
|
31
32
|
Requires-Dist: hatchling>=1.32.4; extra == 'dev'
|
|
32
33
|
Requires-Dist: import-linter<2.6,>=2.5.2; (python_version < '3.10') and extra == 'dev'
|
|
@@ -34,11 +35,12 @@ Requires-Dist: import-linter>=2.15; (python_version >= '3.10') and extra == 'dev
|
|
|
34
35
|
Requires-Dist: pip-audit>=2.10.1; extra == 'dev'
|
|
35
36
|
Requires-Dist: pyright[nodejs]>=1.1.414; extra == 'dev'
|
|
36
37
|
Requires-Dist: pytest-cov>=7.1.0; extra == 'dev'
|
|
38
|
+
Requires-Dist: pytest-xdist>=3.8.0; extra == 'dev'
|
|
37
39
|
Requires-Dist: pytest<9,>=8.4.2; (python_version < '3.10') and extra == 'dev'
|
|
38
|
-
Requires-Dist: pytest>=9.
|
|
40
|
+
Requires-Dist: pytest>=9.2.0; (python_version >= '3.10') and extra == 'dev'
|
|
39
41
|
Requires-Dist: rtoml>=0.14.0; extra == 'dev'
|
|
40
|
-
Requires-Dist: ruff>=0.17.
|
|
41
|
-
Requires-Dist: setuptools>=84.
|
|
42
|
+
Requires-Dist: ruff>=0.17.3; extra == 'dev'
|
|
43
|
+
Requires-Dist: setuptools>=84.2.1; extra == 'dev'
|
|
42
44
|
Requires-Dist: textual>=8.2.8; extra == 'dev'
|
|
43
45
|
Requires-Dist: twine>=7.0.0; extra == 'dev'
|
|
44
46
|
Description-Content-Type: text/markdown
|
|
@@ -254,7 +256,9 @@ else:
|
|
|
254
256
|
Returns `True` if any test environment is detected (pytest, doctest, or setup.py test).
|
|
255
257
|
|
|
256
258
|
**Parameters:**
|
|
257
|
-
- `arg_string` (optional): If `None`, uses `str(sys.argv())
|
|
259
|
+
- `arg_string` (optional): If `None`, uses `str(sys.argv())`, and a pytest-xdist worker
|
|
260
|
+
(`PYTEST_XDIST_WORKER` set) counts as pytest: its `sys.argv` does not name pytest. A given
|
|
261
|
+
`arg_string` is judged on its own.
|
|
258
262
|
|
|
259
263
|
**Returns:**
|
|
260
264
|
- `True` if test environment is detected
|
|
@@ -297,7 +301,9 @@ assert is_doctest_active(arg_string="doctest.py") == True
|
|
|
297
301
|
Returns `True` if pytest is detected.
|
|
298
302
|
|
|
299
303
|
**Parameters:**
|
|
300
|
-
- `arg_string` (optional): If `None`, uses `str(sys.argv())
|
|
304
|
+
- `arg_string` (optional): If `None`, uses `str(sys.argv())`, and a pytest-xdist worker
|
|
305
|
+
(`PYTEST_XDIST_WORKER` set) counts as pytest: its `sys.argv` does not name pytest. A given
|
|
306
|
+
`arg_string` is judged on its own.
|
|
301
307
|
|
|
302
308
|
**Returns:**
|
|
303
309
|
- `True` if pytest is detected
|
|
@@ -209,7 +209,9 @@ else:
|
|
|
209
209
|
Returns `True` if any test environment is detected (pytest, doctest, or setup.py test).
|
|
210
210
|
|
|
211
211
|
**Parameters:**
|
|
212
|
-
- `arg_string` (optional): If `None`, uses `str(sys.argv())
|
|
212
|
+
- `arg_string` (optional): If `None`, uses `str(sys.argv())`, and a pytest-xdist worker
|
|
213
|
+
(`PYTEST_XDIST_WORKER` set) counts as pytest: its `sys.argv` does not name pytest. A given
|
|
214
|
+
`arg_string` is judged on its own.
|
|
213
215
|
|
|
214
216
|
**Returns:**
|
|
215
217
|
- `True` if test environment is detected
|
|
@@ -252,7 +254,9 @@ assert is_doctest_active(arg_string="doctest.py") == True
|
|
|
252
254
|
Returns `True` if pytest is detected.
|
|
253
255
|
|
|
254
256
|
**Parameters:**
|
|
255
|
-
- `arg_string` (optional): If `None`, uses `str(sys.argv())
|
|
257
|
+
- `arg_string` (optional): If `None`, uses `str(sys.argv())`, and a pytest-xdist worker
|
|
258
|
+
(`PYTEST_XDIST_WORKER` set) counts as pytest: its `sys.argv` does not name pytest. A given
|
|
259
|
+
`arg_string` is judged on its own.
|
|
256
260
|
|
|
257
261
|
**Returns:**
|
|
258
262
|
- `True` if pytest is detected
|
|
@@ -77,11 +77,12 @@ Behaviors Layer (behaviors.py) ← Demo commands only
|
|
|
77
77
|
**Purpose:** Detect if any test environment is active (pytest, doctest, or setup.py test).
|
|
78
78
|
|
|
79
79
|
**Input:**
|
|
80
|
-
- `arg_string` (optional): Custom argument string to check. If None, uses `str(sys.argv)
|
|
80
|
+
- `arg_string` (optional): Custom argument string to check. If None, uses `str(sys.argv)`, and a
|
|
81
|
+
pytest-xdist worker (`PYTEST_XDIST_WORKER` set) counts as pytest.
|
|
81
82
|
|
|
82
83
|
**Output:** `True` if test environment detected, `False` otherwise.
|
|
83
84
|
|
|
84
|
-
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:
|
|
85
|
+
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:10
|
|
85
86
|
|
|
86
87
|
**Example:**
|
|
87
88
|
```python
|
|
@@ -102,12 +103,14 @@ if is_testenv_active():
|
|
|
102
103
|
- Checks for `/pytest/__main__.py` in arguments
|
|
103
104
|
- Checks for `python -m pytest` pattern
|
|
104
105
|
- Checks `PYTEST_IS_RUNNING` environment variable
|
|
106
|
+
- Without an `arg_string`, also checks `PYTEST_XDIST_WORKER`: a pytest-xdist worker runs as
|
|
107
|
+
`python -c`, so its `sys.argv` does not name pytest
|
|
105
108
|
|
|
106
109
|
**Input:** `arg_string` (optional): Custom argument string to check.
|
|
107
110
|
|
|
108
111
|
**Output:** `True` if pytest detected, `False` otherwise.
|
|
109
112
|
|
|
110
|
-
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:
|
|
113
|
+
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:70
|
|
111
114
|
|
|
112
115
|
**Example:**
|
|
113
116
|
```python
|
|
@@ -132,7 +135,7 @@ if is_pytest_active():
|
|
|
132
135
|
|
|
133
136
|
**Output:** `True` if doctest detected, `False` otherwise.
|
|
134
137
|
|
|
135
|
-
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:
|
|
138
|
+
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:42
|
|
136
139
|
|
|
137
140
|
---
|
|
138
141
|
|
|
@@ -147,7 +150,7 @@ if is_pytest_active():
|
|
|
147
150
|
|
|
148
151
|
**Output:** `True` if setup.py detected, `False` otherwise.
|
|
149
152
|
|
|
150
|
-
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:
|
|
153
|
+
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:108
|
|
151
154
|
|
|
152
155
|
---
|
|
153
156
|
|
|
@@ -162,7 +165,7 @@ if is_pytest_active():
|
|
|
162
165
|
|
|
163
166
|
**Output:** `True` if `setup.py test` detected, `False` otherwise.
|
|
164
167
|
|
|
165
|
-
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:
|
|
168
|
+
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:135
|
|
166
169
|
|
|
167
170
|
---
|
|
168
171
|
|
|
@@ -174,7 +177,7 @@ if is_pytest_active():
|
|
|
174
177
|
|
|
175
178
|
**Output:** `True` if docrunner.py found, `False` otherwise.
|
|
176
179
|
|
|
177
|
-
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:
|
|
180
|
+
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:167
|
|
178
181
|
|
|
179
182
|
---
|
|
180
183
|
|
|
@@ -193,7 +196,7 @@ if is_pytest_active():
|
|
|
193
196
|
|
|
194
197
|
**Output:** None (modifies sys.path in place)
|
|
195
198
|
|
|
196
|
-
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:
|
|
199
|
+
**Location:** src/lib_detect_testenv/lib_detect_testenv.py:198
|
|
197
200
|
|
|
198
201
|
**Example:**
|
|
199
202
|
```python
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "lib_detect_testenv"
|
|
3
|
-
version = "3.0.
|
|
3
|
+
version = "3.0.7"
|
|
4
4
|
description = "Detect test environment - pytest, doctest, unittest, or regular execution"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -33,9 +33,10 @@ Issues = "https://github.com/bitranox/lib_detect_testenv/issues"
|
|
|
33
33
|
[project.optional-dependencies]
|
|
34
34
|
dev = [
|
|
35
35
|
"pytest>=8.4.2,<9; python_version<'3.10'",
|
|
36
|
-
"pytest>=9.
|
|
36
|
+
"pytest>=9.2.0; python_version>='3.10'",
|
|
37
37
|
"pytest-cov>=7.1.0",
|
|
38
|
-
"
|
|
38
|
+
"pytest-xdist>=3.8.0",
|
|
39
|
+
"ruff>=0.17.3",
|
|
39
40
|
"pyright[nodejs]>=1.1.414",
|
|
40
41
|
"bandit>=1.8.6,<1.9; python_version<'3.10'",
|
|
41
42
|
"bandit>=1.9.4; python_version>='3.10'",
|
|
@@ -55,8 +56,9 @@ dev = [
|
|
|
55
56
|
"textual>=8.2.8",
|
|
56
57
|
"import-linter>=2.5.2,<2.6; python_version<'3.10'",
|
|
57
58
|
"import-linter>=2.15; python_version>='3.10'",
|
|
58
|
-
"setuptools>=84.
|
|
59
|
+
"setuptools>=84.2.1",
|
|
59
60
|
"rtoml>=0.14.0",
|
|
61
|
+
"certifi>=2026.10.23", # PYSEC-2026-4320
|
|
60
62
|
]
|
|
61
63
|
|
|
62
64
|
[project.scripts]
|
|
@@ -122,7 +124,10 @@ convention = "google"
|
|
|
122
124
|
|
|
123
125
|
[tool.ruff.lint.per-file-ignores]
|
|
124
126
|
# ignore the "unused import sys" in the jupyter notebook - which we need (it is a linter hickup)
|
|
125
|
-
|
|
127
|
+
# A `!cmd` never raises, so CI sees a failing shell command only through
|
|
128
|
+
# `assert _exit_code == N` after it: IPython injects `_exit_code` at run time (F821)
|
|
129
|
+
# and those asserts are the gate (S101).
|
|
130
|
+
"notebooks/*.ipynb" = ["F401", "F821", "S101"]
|
|
126
131
|
# Tests: assert is standard, test fixtures have passwords, magic values are clearer inline, temp paths are fine.
|
|
127
132
|
# PLC0415: local/deferred imports are a deliberate test idiom - several tests import inside the test
|
|
128
133
|
# body to exercise import-time and cache behaviour, so moving them to module top would defeat intent.
|
{lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/__init__conf__.py
RENAMED
|
@@ -26,7 +26,7 @@ name = "lib_detect_testenv"
|
|
|
26
26
|
#: Human-readable summary shown in CLI help output.
|
|
27
27
|
title = "Detect test environment - pytest, doctest, unittest, or regular execution"
|
|
28
28
|
#: Current release version pulled from ``pyproject.toml`` by automation.
|
|
29
|
-
version = "3.0.
|
|
29
|
+
version = "3.0.7"
|
|
30
30
|
#: Repository homepage presented to users.
|
|
31
31
|
homepage = "https://github.com/bitranox/lib_detect_testenv"
|
|
32
32
|
#: Author attribution surfaced in CLI output.
|
{lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/lib_detect_testenv.py
RENAMED
|
@@ -14,7 +14,8 @@ def is_testenv_active(arg_string: Optional[str] = None) -> bool:
|
|
|
14
14
|
|
|
15
15
|
Parameter
|
|
16
16
|
----------
|
|
17
|
-
arg_string : optional, if None : str(sys.argv())
|
|
17
|
+
arg_string : optional, if None : str(sys.argv()), and a pytest-xdist worker
|
|
18
|
+
(PYTEST_XDIST_WORKER set) counts as pytest
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
Result
|
|
@@ -32,6 +33,8 @@ def is_testenv_active(arg_string: Optional[str] = None) -> bool:
|
|
|
32
33
|
|
|
33
34
|
>>> assert is_testenv_active() == True
|
|
34
35
|
"""
|
|
36
|
+
if arg_string is None and _is_pytest_xdist_worker():
|
|
37
|
+
return True
|
|
35
38
|
arg_string = _get_sys_argv_str(arg_string)
|
|
36
39
|
return is_doctest_active(arg_string=arg_string) or is_pytest_active(arg_string=arg_string) or is_setup_test_active(arg_string=arg_string)
|
|
37
40
|
|
|
@@ -71,7 +74,8 @@ def is_pytest_active(arg_string: Optional[str] = None) -> bool:
|
|
|
71
74
|
|
|
72
75
|
Parameter
|
|
73
76
|
----------
|
|
74
|
-
arg_string : optional, if None : str(sys.argv())
|
|
77
|
+
arg_string : optional, if None : str(sys.argv()), and a pytest-xdist worker
|
|
78
|
+
(PYTEST_XDIST_WORKER set) counts as pytest
|
|
75
79
|
|
|
76
80
|
|
|
77
81
|
Result
|
|
@@ -88,6 +92,8 @@ def is_pytest_active(arg_string: Optional[str] = None) -> bool:
|
|
|
88
92
|
|
|
89
93
|
"""
|
|
90
94
|
|
|
95
|
+
if arg_string is None and _is_pytest_xdist_worker():
|
|
96
|
+
return True
|
|
91
97
|
arg_string = _get_sys_argv_str(arg_string)
|
|
92
98
|
# this is used in our tests when we test cli-commands
|
|
93
99
|
if os.getenv("PYTEST_IS_RUNNING"):
|
|
@@ -167,6 +173,17 @@ def is_doctest_in_arg_string(arg_string: str) -> bool:
|
|
|
167
173
|
return "docrunner.py" in arg_string
|
|
168
174
|
|
|
169
175
|
|
|
176
|
+
def _is_pytest_xdist_worker() -> bool:
|
|
177
|
+
"""
|
|
178
|
+
returns True inside a pytest-xdist worker process
|
|
179
|
+
|
|
180
|
+
A worker is started by execnet as "python -c <bootstrap>", so its sys.argv names neither
|
|
181
|
+
pytest nor a test file; pytest-xdist sets PYTEST_XDIST_WORKER (gw0, gw1, ...) in every worker.
|
|
182
|
+
Only a call that reads the real process asks this: an explicit arg_string is judged alone.
|
|
183
|
+
"""
|
|
184
|
+
return bool(os.getenv("PYTEST_XDIST_WORKER"))
|
|
185
|
+
|
|
186
|
+
|
|
170
187
|
def _get_sys_argv_str(arg_string: Optional[str] = None) -> str:
|
|
171
188
|
"""
|
|
172
189
|
gets the sys.argv as string. backslashes in Windows are replaced with slashes
|
|
@@ -113,6 +113,45 @@ def test_is_pytest_active_with_pytest_env_var(monkeypatch: pytest.MonkeyPatch) -
|
|
|
113
113
|
assert is_pytest_active(arg_string="") is True
|
|
114
114
|
|
|
115
115
|
|
|
116
|
+
#: The argv a pytest-xdist worker process runs with: execnet starts it as ``python -c <bootstrap>``.
|
|
117
|
+
_XDIST_WORKER_ARGV = ["-c"]
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
@pytest.fixture
|
|
121
|
+
def worker_process_argv(monkeypatch: pytest.MonkeyPatch) -> pytest.MonkeyPatch:
|
|
122
|
+
"""Make the process look like an xdist worker's argv, with neither pytest variable set."""
|
|
123
|
+
monkeypatch.setattr(sys, "argv", _XDIST_WORKER_ARGV)
|
|
124
|
+
monkeypatch.delenv("PYTEST_IS_RUNNING", raising=False)
|
|
125
|
+
monkeypatch.delenv("PYTEST_XDIST_WORKER", raising=False)
|
|
126
|
+
return monkeypatch
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
@pytest.mark.os_agnostic
|
|
130
|
+
def test_a_worker_argv_alone_does_not_read_as_pytest(worker_process_argv: pytest.MonkeyPatch) -> None:
|
|
131
|
+
"""The control: with the argv replaced and no xdist variable, nothing names pytest."""
|
|
132
|
+
assert is_pytest_active() is False
|
|
133
|
+
assert is_testenv_active() is False
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
@pytest.mark.os_agnostic
|
|
137
|
+
def test_an_xdist_worker_reads_as_pytest(worker_process_argv: pytest.MonkeyPatch) -> None:
|
|
138
|
+
"""A pytest-xdist worker's argv does not name pytest; xdist sets PYTEST_XDIST_WORKER in it."""
|
|
139
|
+
worker_process_argv.setenv("PYTEST_XDIST_WORKER", "gw0")
|
|
140
|
+
|
|
141
|
+
assert is_pytest_active() is True
|
|
142
|
+
assert is_testenv_active() is True
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
@pytest.mark.os_agnostic
|
|
146
|
+
def test_an_explicit_arg_string_ignores_the_xdist_worker_variable(worker_process_argv: pytest.MonkeyPatch) -> None:
|
|
147
|
+
"""Only a call reading the real process consults the worker variable; a given string is judged alone."""
|
|
148
|
+
worker_process_argv.setenv("PYTEST_XDIST_WORKER", "gw0")
|
|
149
|
+
|
|
150
|
+
assert is_pytest_active(arg_string="") is False
|
|
151
|
+
assert is_pytest_active(arg_string="python test.py") is False
|
|
152
|
+
assert is_testenv_active(arg_string="python script.py") is False
|
|
153
|
+
|
|
154
|
+
|
|
116
155
|
# ============================================================================
|
|
117
156
|
# Tests for is_doctest_active()
|
|
118
157
|
# ============================================================================
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lib_detect_testenv-3.0.6 → lib_detect_testenv-3.0.7}/src/lib_detect_testenv/safe_console.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|