provide-testkit 0.4.3__tar.gz → 0.4.4__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.
- {provide_testkit-0.4.3/src/provide_testkit.egg-info → provide_testkit-0.4.4}/PKG-INFO +2 -4
- provide_testkit-0.4.4/VERSION +1 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/pyproject.toml +11 -4
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/cli/testing.py +1 -1
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/temp.py +1 -1
- provide_testkit-0.4.4/src/provide/testkit/provide_testkit_init.pth +1 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/profiling/profiler.py +3 -1
- {provide_testkit-0.4.3 → provide_testkit-0.4.4/src/provide_testkit.egg-info}/PKG-INFO +2 -4
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide_testkit.egg-info/requires.txt +1 -4
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/tests/test_pth_installation.py +34 -0
- provide_testkit-0.4.3/VERSION +0 -1
- provide_testkit-0.4.3/src/provide/testkit/provide_testkit_init.pth +0 -1
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/LICENSE +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/README.md +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/setup.cfg +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/__main__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/_blocker.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/_early_init.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/_install_blocker.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/_install_pth.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/base/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/base/foundation.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/base/harness.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/base/minimal.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/concurrency_strategies.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/io_strategies.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/strategies.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/time_strategies.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/cli/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/cli/runner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/common/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/common/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/conftest.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/crypto/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/crypto/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/content_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/directory_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/special_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/hub/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/hub/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/logger/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/logger/hooks.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/logger/mocks.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/logger/reset.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/main.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/mocking/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/mocking/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/mocking/time.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/async_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/script_assertions.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/script_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/subprocess_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/system_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/py.typed +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/pytest_plugin.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/artifacts.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/base.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/cli.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/complexity/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/complexity/analyzer.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/complexity/fixture.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/fixture.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/reporter.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/tracker.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/decorators.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/documentation/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/documentation/checker.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/documentation/fixture.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/profiling/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/profiling/fixture.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/report.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/runner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/fixture.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/gitleaks_scanner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/pip_audit_scanner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/safety_scanner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/scanner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/semgrep_scanner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/trufflehog_scanner.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/streams/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/streams/testing.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/basic_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/data_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/execution_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/sync_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/classes.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/controlled.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/freezing.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/measurement.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/mocking.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/time/rate_limiting.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/transport/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/transport/fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/utils/__init__.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/utils/environment.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/utils/temp_env.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide_testkit.egg-info/SOURCES.txt +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide_testkit.egg-info/dependency_links.txt +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide_testkit.egg-info/entry_points.txt +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide_testkit.egg-info/top_level.txt +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/tests/test_async_fixtures.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/tests/test_early_init.py +0 -0
- {provide_testkit-0.4.3 → provide_testkit-0.4.4}/tests/test_placeholder.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: provide-testkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.4
|
|
4
4
|
Summary: Testing utilities and fixtures for the provide ecosystem.
|
|
5
5
|
Author-email: Tim Perkins <code@tim.life>
|
|
6
6
|
Maintainer-email: "provide.io" <code@provide.io>
|
|
@@ -116,8 +116,6 @@ Requires-Dist: pyyaml; extra == "utils"
|
|
|
116
116
|
Requires-Dist: reuse; extra == "utils"
|
|
117
117
|
Requires-Dist: tabulate; extra == "utils"
|
|
118
118
|
Requires-Dist: sapp; extra == "utils"
|
|
119
|
-
Provides-Extra: fuzzing
|
|
120
|
-
Requires-Dist: pynguin; extra == "fuzzing"
|
|
121
119
|
Provides-Extra: security
|
|
122
120
|
Requires-Dist: bandit; extra == "security"
|
|
123
121
|
Requires-Dist: safety; extra == "security"
|
|
@@ -129,7 +127,7 @@ Requires-Dist: provide-testkit[grpc,standard,typecheck]>=0.4.0; extra == "grpc-d
|
|
|
129
127
|
Provides-Extra: pyvider-dev
|
|
130
128
|
Requires-Dist: provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]>=0.4.0; extra == "pyvider-dev"
|
|
131
129
|
Provides-Extra: all
|
|
132
|
-
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,
|
|
130
|
+
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,grpc,process,profiling,quality,security,transport,typecheck,utils]>=0.4.0; extra == "all"
|
|
133
131
|
Provides-Extra: dev
|
|
134
132
|
Requires-Dist: provide-testkit[advanced-testing,quality]>=0.4.0; extra == "dev"
|
|
135
133
|
Provides-Extra: docs-standalone
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.4.4
|
|
@@ -194,9 +194,16 @@ utils = [
|
|
|
194
194
|
]
|
|
195
195
|
|
|
196
196
|
# Fuzzing and test generation (no upper bounds - use latest)
|
|
197
|
-
fuzzing
|
|
198
|
-
|
|
199
|
-
|
|
197
|
+
# `fuzzing` (pynguin) is gone: it could not be installed, on any Python, for as
|
|
198
|
+
# long as this project has required pytest 9.
|
|
199
|
+
#
|
|
200
|
+
# pynguin >=0.46 requires pytest>=8.3.5,<9.0.0, which this project's own
|
|
201
|
+
# pytest>=9.0.2 rules out. The only pynguin loose enough to coexist with pytest 9
|
|
202
|
+
# is 0.6.3, from 2021, which depends on jellyfish 0.11.2 -- a release with no
|
|
203
|
+
# cp313 wheels, so it builds from an sdist whose pyproject.toml declares neither
|
|
204
|
+
# project.version nor dynamic, which uv refuses to parse. Both ends of the range
|
|
205
|
+
# are therefore unavailable and the extra resolved to something no `uv sync`
|
|
206
|
+
# could install. Restore it when pynguin supports pytest 9.
|
|
200
207
|
|
|
201
208
|
# Comprehensive security scanning (no upper bounds - use latest)
|
|
202
209
|
security = [
|
|
@@ -224,7 +231,7 @@ pyvider-dev = [
|
|
|
224
231
|
]
|
|
225
232
|
|
|
226
233
|
all = [
|
|
227
|
-
"provide-testkit[quality,typecheck,advanced-testing,profiling,transport,crypto,process,grpc,build,docs,utils,security
|
|
234
|
+
"provide-testkit[quality,typecheck,advanced-testing,profiling,transport,crypto,process,grpc,build,docs,utils,security]>=0.4.0",
|
|
228
235
|
]
|
|
229
236
|
|
|
230
237
|
dev = [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import os, sys; os.getenv("TESTKIT_PTH_LOG") and sys.stderr.write("\U0001F50C PTH FILE: Loading provide_testkit_init.pth\n") and sys.stderr.flush(); exec("try:\n import provide.testkit._early_init\n if os.getenv('TESTKIT_PTH_LOG'): sys.stderr.write('\\U0001F50C PTH FILE: Loaded _early_init successfully\\n'); sys.stderr.flush()\nexcept ImportError:\n pass # Package uninstalled, silently skip\n")
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/profiling/profiler.py
RENAMED
|
@@ -25,7 +25,9 @@ try:
|
|
|
25
25
|
MEMRAY_AVAILABLE = True
|
|
26
26
|
except ImportError:
|
|
27
27
|
MEMRAY_AVAILABLE = False
|
|
28
|
-
memray
|
|
28
|
+
# memray is an optional dependency; mypy resolves the module when it is
|
|
29
|
+
# installed, so the sentinel needs the narrowing suppressed explicitly.
|
|
30
|
+
memray = None # type: ignore[assignment]
|
|
29
31
|
|
|
30
32
|
from ..base import QualityResult, QualityToolError
|
|
31
33
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: provide-testkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.4
|
|
4
4
|
Summary: Testing utilities and fixtures for the provide ecosystem.
|
|
5
5
|
Author-email: Tim Perkins <code@tim.life>
|
|
6
6
|
Maintainer-email: "provide.io" <code@provide.io>
|
|
@@ -116,8 +116,6 @@ Requires-Dist: pyyaml; extra == "utils"
|
|
|
116
116
|
Requires-Dist: reuse; extra == "utils"
|
|
117
117
|
Requires-Dist: tabulate; extra == "utils"
|
|
118
118
|
Requires-Dist: sapp; extra == "utils"
|
|
119
|
-
Provides-Extra: fuzzing
|
|
120
|
-
Requires-Dist: pynguin; extra == "fuzzing"
|
|
121
119
|
Provides-Extra: security
|
|
122
120
|
Requires-Dist: bandit; extra == "security"
|
|
123
121
|
Requires-Dist: safety; extra == "security"
|
|
@@ -129,7 +127,7 @@ Requires-Dist: provide-testkit[grpc,standard,typecheck]>=0.4.0; extra == "grpc-d
|
|
|
129
127
|
Provides-Extra: pyvider-dev
|
|
130
128
|
Requires-Dist: provide-testkit[advanced-testing,build,grpc,profiling,security,standard,typecheck]>=0.4.0; extra == "pyvider-dev"
|
|
131
129
|
Provides-Extra: all
|
|
132
|
-
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,
|
|
130
|
+
Requires-Dist: provide-testkit[advanced-testing,build,crypto,docs,grpc,process,profiling,quality,security,transport,typecheck,utils]>=0.4.0; extra == "all"
|
|
133
131
|
Provides-Extra: dev
|
|
134
132
|
Requires-Dist: provide-testkit[advanced-testing,quality]>=0.4.0; extra == "dev"
|
|
135
133
|
Provides-Extra: docs-standalone
|
|
@@ -17,7 +17,7 @@ pytest-testmon
|
|
|
17
17
|
pytest-json-report
|
|
18
18
|
|
|
19
19
|
[all]
|
|
20
|
-
provide-testkit[advanced-testing,build,crypto,docs,
|
|
20
|
+
provide-testkit[advanced-testing,build,crypto,docs,grpc,process,profiling,quality,security,transport,typecheck,utils]>=0.4.0
|
|
21
21
|
|
|
22
22
|
[build]
|
|
23
23
|
hatch
|
|
@@ -62,9 +62,6 @@ pyyaml
|
|
|
62
62
|
[docs-standalone]
|
|
63
63
|
provide-testkit[docs]>=0.4.0
|
|
64
64
|
|
|
65
|
-
[fuzzing]
|
|
66
|
-
pynguin
|
|
67
|
-
|
|
68
65
|
[grpc]
|
|
69
66
|
grpc-stubs
|
|
70
67
|
grpcio>=1.76.0
|
|
@@ -38,6 +38,40 @@ class TestPthFileInstallation:
|
|
|
38
38
|
assert "import provide.testkit._early_init" in content, ".pth file should import _early_init module"
|
|
39
39
|
assert "TESTKIT_PTH_LOG" in content, ".pth file should support TESTKIT_PTH_LOG for debugging"
|
|
40
40
|
|
|
41
|
+
def test_pth_file_is_ascii(self) -> None:
|
|
42
|
+
"""Verify the .pth file contains no non-ASCII bytes.
|
|
43
|
+
|
|
44
|
+
site.py reads .pth files with the locale's encoding, which is ASCII under
|
|
45
|
+
the C locale. A single non-ASCII byte therefore aborts interpreter
|
|
46
|
+
startup for every program in the environment, before any user code runs:
|
|
47
|
+
|
|
48
|
+
Fatal Python error: init_import_site: Failed to import the site module
|
|
49
|
+
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0
|
|
50
|
+
|
|
51
|
+
The debug messages still carry an emoji; it is written as a \\U escape so
|
|
52
|
+
the file itself stays ASCII and the escape is resolved when the line is
|
|
53
|
+
executed.
|
|
54
|
+
"""
|
|
55
|
+
testkit_root = Path(__file__).parent.parent
|
|
56
|
+
pth_file = testkit_root / "src" / "provide" / "testkit" / "provide_testkit_init.pth"
|
|
57
|
+
|
|
58
|
+
raw = pth_file.read_bytes()
|
|
59
|
+
offending = [(index, byte) for index, byte in enumerate(raw) if byte > 0x7F]
|
|
60
|
+
|
|
61
|
+
assert not offending, f".pth file must be ASCII; non-ASCII bytes at {offending}"
|
|
62
|
+
|
|
63
|
+
def test_pth_file_keeps_its_emoji_as_an_escape(self) -> None:
|
|
64
|
+
"""Verify the ASCII rule was met by escaping the emoji, not deleting it."""
|
|
65
|
+
testkit_root = Path(__file__).parent.parent
|
|
66
|
+
pth_file = testkit_root / "src" / "provide" / "testkit" / "provide_testkit_init.pth"
|
|
67
|
+
|
|
68
|
+
content = pth_file.read_text(encoding="ascii")
|
|
69
|
+
resolved = content.encode("ascii").decode("unicode_escape")
|
|
70
|
+
|
|
71
|
+
assert "\N{ELECTRIC PLUG}" in resolved, (
|
|
72
|
+
".pth debug messages should still carry the plug emoji, written as an escape"
|
|
73
|
+
)
|
|
74
|
+
|
|
41
75
|
def test_pth_file_installed_in_site_packages(self) -> None:
|
|
42
76
|
"""Verify .pth file is installed to site-packages after package install."""
|
|
43
77
|
# Get site-packages directories
|
provide_testkit-0.4.3/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.4.3
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import os, sys; os.getenv("TESTKIT_PTH_LOG") and sys.stderr.write("🔌 PTH FILE: Loading provide_testkit_init.pth\n") and sys.stderr.flush(); exec("try:\n import provide.testkit._early_init\n if os.getenv('TESTKIT_PTH_LOG'): sys.stderr.write('🔌 PTH FILE: Loaded _early_init successfully\\n'); sys.stderr.flush()\nexcept ImportError:\n pass # Package uninstalled, silently skip\n")
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/concurrency_strategies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/chaos/time_strategies.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
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/content_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/directory_fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/file/special_fixtures.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
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/async_fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/script_assertions.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/script_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/subprocess_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/process/system_fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/complexity/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/complexity/analyzer.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/complexity/fixture.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/fixture.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/reporter.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/coverage/tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/documentation/checker.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/documentation/fixture.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/profiling/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/profiling/fixture.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/__init__.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/fixture.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/quality/security/scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/basic_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/data_fixtures.py
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/execution_fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide/testkit/threading/sync_fixtures.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide_testkit.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{provide_testkit-0.4.3 → provide_testkit-0.4.4}/src/provide_testkit.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|