tenzir-test 0.13.0__tar.gz → 0.13.1__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.
Files changed (134) hide show
  1. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/PKG-INFO +7 -7
  2. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/README.md +6 -6
  3. tenzir_test-0.13.1/changelog/releases/v0.13.1/entries/strip-root-paths-from-diff-runner-output.md +11 -0
  4. tenzir_test-0.13.1/changelog/releases/v0.13.1/manifest.yaml +5 -0
  5. tenzir_test-0.13.1/changelog/releases/v0.13.1/notes.md +9 -0
  6. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/pyproject.toml +1 -2
  7. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/diff_runner.py +8 -3
  8. tenzir_test-0.13.0/src/tenzir_test/checks.py +0 -31
  9. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/.gitignore +0 -0
  10. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/LICENSE +0 -0
  11. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/config.yaml +0 -0
  12. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.11.0/entries/01-expose-tenzir-test-as-a-library.md +0 -0
  13. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.11.0/manifest.yaml +0 -0
  14. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.11.0/notes.md +0 -0
  15. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.12.0/entries/01-honor-no-color-for-python-api-consumers.md +0 -0
  16. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.12.0/manifest.yaml +0 -0
  17. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.12.0/notes.md +0 -0
  18. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.13.0/entries/01-improve-diagnostics-when-tenzir-node-fails-to-start.md +0 -0
  19. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.13.0/entries/01-library-mode-and-package-dirs.md +0 -0
  20. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.13.0/manifest.yaml +0 -0
  21. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/changelog/releases/v0.13.0/notes.md +0 -0
  22. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/README.md +0 -0
  23. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/bar/operators/double.tql +0 -0
  24. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/bar/package.yaml +0 -0
  25. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/bar/test.yaml +0 -0
  26. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/bar/tests/use-foo.tql +0 -0
  27. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/bar/tests/use-foo.txt +0 -0
  28. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/foo/operators/increment.tql +0 -0
  29. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/foo/package.yaml +0 -0
  30. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/foo/test.yaml +0 -0
  31. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/foo/tests/use-bar.tql +0 -0
  32. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-library/foo/tests/use-bar.txt +0 -0
  33. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/operators/deeply/nested/twist.tql +0 -0
  34. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/operators/filter.tql +0 -0
  35. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/operators/parse.tql +0 -0
  36. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/package.yaml +0 -0
  37. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/context/01-context-list.tql +0 -0
  38. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/context/01-context-list.txt +0 -0
  39. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/context/02-context-update.tql +0 -0
  40. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/context/02-context-update.txt +0 -0
  41. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/context/03-context-inspect.tql +0 -0
  42. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/context/03-context-inspect.txt +0 -0
  43. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/context/test.yaml +0 -0
  44. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/inputs/sample.log +0 -0
  45. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/ops.tql +0 -0
  46. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/ops.txt +0 -0
  47. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/twist.tql +0 -0
  48. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-package/tests/twist.txt +0 -0
  49. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/README.md +0 -0
  50. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/fixtures/README.md +0 -0
  51. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/fixtures/__init__.py +0 -0
  52. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/fixtures/http.py +0 -0
  53. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/fixtures/server.py +0 -0
  54. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/inputs/events.ndjson +0 -0
  55. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/runners/__init__.py +0 -0
  56. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/runners/xxd.py +0 -0
  57. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/context/01-context-create.tql +0 -0
  58. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/context/01-context-create.txt +0 -0
  59. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/context/02-context-update.tql +0 -0
  60. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/context/02-context-update.txt +0 -0
  61. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/context/03-context-inspect.tql +0 -0
  62. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/context/03-context-inspect.txt +0 -0
  63. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/context/test.yaml +0 -0
  64. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/fail.tql +0 -0
  65. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/fail.txt +0 -0
  66. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/hex/hello.txt +0 -0
  67. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/hex/hello.xxd +0 -0
  68. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/http-fixture.tql +0 -0
  69. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/http-fixture.txt +0 -0
  70. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/lazy.tql +0 -0
  71. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/lazy.txt +0 -0
  72. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/node-fixture.tql +0 -0
  73. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/node-fixture.txt +0 -0
  74. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/executor-only/sum.py +0 -0
  75. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/executor-only/sum.txt +0 -0
  76. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/executor-with-http-fixture/request.py +0 -0
  77. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/executor-with-http-fixture/request.txt +0 -0
  78. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/executor-with-http-fixture/test.yaml +0 -0
  79. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/executor-with-node-fixture/context-manager.py +0 -0
  80. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/executor-with-node-fixture/context-manager.txt +0 -0
  81. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/fixture-driving/manual_control.py +0 -0
  82. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/fixture-driving/manual_control.txt +0 -0
  83. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/pure-python/flaky_coin.py +0 -0
  84. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/pure-python/flaky_coin.txt +0 -0
  85. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/pure-python/hello_world.py +0 -0
  86. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/python/pure-python/hello_world.txt +0 -0
  87. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/read-inputs.tql +0 -0
  88. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/read-inputs.txt +0 -0
  89. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/shell/exit-code-test.sh +0 -0
  90. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/shell/exit-code-test.txt +0 -0
  91. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/shell/http-fixture-check.sh +0 -0
  92. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/shell/http-fixture-check.txt +0 -0
  93. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/shell/tmp-dir.sh +0 -0
  94. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-project/tests/shell/tmp-dir.txt +0 -0
  95. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/README.md +0 -0
  96. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/fixtures.py +0 -0
  97. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/inputs/input.txt +0 -0
  98. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/tests/hex/reuse.txt +0 -0
  99. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/tests/hex/reuse.xxd +0 -0
  100. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/tests/satellite/input.sh +0 -0
  101. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/tests/satellite/input.txt +0 -0
  102. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/tests/satellite/marker.sh +0 -0
  103. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/tests/satellite/marker.txt +0 -0
  104. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/example-satellite/tests/satellite/test.yaml +0 -0
  105. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/__init__.py +0 -0
  106. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/_python_runner.py +0 -0
  107. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/cli.py +0 -0
  108. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/config.py +0 -0
  109. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/engine/__init__.py +0 -0
  110. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/engine/operations.py +0 -0
  111. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/engine/registry.py +0 -0
  112. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/engine/state.py +0 -0
  113. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/engine/worker.py +0 -0
  114. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/fixtures/__init__.py +0 -0
  115. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/fixtures/node.py +0 -0
  116. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/packages.py +0 -0
  117. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/py.typed +0 -0
  118. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/run.py +0 -0
  119. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/__init__.py +0 -0
  120. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/_utils.py +0 -0
  121. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/custom_python_fixture_runner.py +0 -0
  122. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/ext_runner.py +0 -0
  123. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/runner.py +0 -0
  124. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/shell_runner.py +0 -0
  125. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/tenzir_runner.py +0 -0
  126. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/src/tenzir_test/runners/tql_runner.py +0 -0
  127. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_cli.py +0 -0
  128. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_config.py +0 -0
  129. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_engine_operations.py +0 -0
  130. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_python_runner.py +0 -0
  131. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_run.py +0 -0
  132. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_run_config.py +0 -0
  133. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_runner_registry.py +0 -0
  134. {tenzir_test-0.13.0 → tenzir_test-0.13.1}/tests/test_shell_runner.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tenzir-test
3
- Version: 0.13.0
3
+ Version: 0.13.1
4
4
  Summary: Reusable test execution framework extracted from the Tenzir repository.
5
5
  Project-URL: Homepage, https://github.com/tenzir/test
6
6
  Project-URL: Repository, https://github.com/tenzir/test
@@ -63,18 +63,18 @@ for an end-to-end walkthrough of writing tests.
63
63
  We also provide a dense [reference](https://docs.tenzir.com/reference/test) that
64
64
  explains concepts, configuration, multi-project execution, and CLI details.
65
65
 
66
- ## 🧑‍💻 Development
67
-
68
- Contributor workflows, quality gates, and release procedures live in
69
- [`DEVELOPMENT.md`](DEVELOPMENT.md). Follow that guide when you work on the
70
- project locally.
71
-
72
66
  ## 🗞️ Releases
73
67
 
74
68
  New versions are published to PyPI through trusted publishing when a GitHub
75
69
  release is created. Review the latest release notes on GitHub for details about
76
70
  what's new.
77
71
 
72
+ ## 🤝 Contributing
73
+
74
+ Want to contribute? We're all-in on agentic coding with [Claude
75
+ Code](https://claude.ai/code)! The repo comes pre-configured with our [custom
76
+ plugins](https://github.com/tenzir/claude-plugins)—just clone and start hacking.
77
+
78
78
  ## 📜 License
79
79
 
80
80
  `tenzir-test` is available under the Apache License, Version 2.0. See
@@ -34,18 +34,18 @@ for an end-to-end walkthrough of writing tests.
34
34
  We also provide a dense [reference](https://docs.tenzir.com/reference/test) that
35
35
  explains concepts, configuration, multi-project execution, and CLI details.
36
36
 
37
- ## 🧑‍💻 Development
38
-
39
- Contributor workflows, quality gates, and release procedures live in
40
- [`DEVELOPMENT.md`](DEVELOPMENT.md). Follow that guide when you work on the
41
- project locally.
42
-
43
37
  ## 🗞️ Releases
44
38
 
45
39
  New versions are published to PyPI through trusted publishing when a GitHub
46
40
  release is created. Review the latest release notes on GitHub for details about
47
41
  what's new.
48
42
 
43
+ ## 🤝 Contributing
44
+
45
+ Want to contribute? We're all-in on agentic coding with [Claude
46
+ Code](https://claude.ai/code)! The repo comes pre-configured with our [custom
47
+ plugins](https://github.com/tenzir/claude-plugins)—just clone and start hacking.
48
+
49
49
  ## 📜 License
50
50
 
51
51
  `tenzir-test` is available under the Apache License, Version 2.0. See
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Strip root paths from diff_runner output
3
+ type: bugfix
4
+ authors:
5
+ - tobim
6
+ - claude
7
+ pr: 5
8
+ created: 2025-12-08T15:44:59.615542Z
9
+ ---
10
+
11
+ The `DiffRunner` now strips the ROOT path prefix from output to make paths relative, consistent with `run_simple_test` behavior.
@@ -0,0 +1,5 @@
1
+ created: 2025-12-08
2
+ title: Tenzir Test v0.13.1
3
+ intro: >-
4
+ This release fixes path handling in the diff runner to strip root path prefixes
5
+ from output, making paths relative and consistent with other test runners.
@@ -0,0 +1,9 @@
1
+ This release fixes path handling in the diff runner to strip root path prefixes from output, making paths relative and consistent with other test runners.
2
+
3
+ ## 🐞 Bug fixes
4
+
5
+ ### Strip root paths from diff_runner output
6
+
7
+ The `DiffRunner` now strips the ROOT path prefix from output to make paths relative, consistent with `run_simple_test` behavior.
8
+
9
+ *By @tobim and @claude in [#5](https://github.com/tenzir/test/pull/5).*
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tenzir-test"
3
- version = "0.13.0"
3
+ version = "0.13.1"
4
4
  description = "Reusable test execution framework extracted from the Tenzir repository."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -34,7 +34,6 @@ Documentation = "https://docs.tenzir.com"
34
34
 
35
35
  [project.scripts]
36
36
  tenzir-test = "tenzir_test.cli:main"
37
- check-release = "tenzir_test.checks:main"
38
37
 
39
38
  [build-system]
40
39
  requires = ["hatchling>=1.25.0"]
@@ -106,11 +106,16 @@ class DiffRunner(TqlRunner):
106
106
  fixture_api.pop_context(context_token)
107
107
  run_mod.cleanup_test_tmp_dir(env.get(run_mod.TEST_TMP_ENV_VAR))
108
108
 
109
+ # Strip the ROOT prefix from paths in output to make them relative,
110
+ # consistent with run_simple_test behavior.
111
+ root_bytes = str(run_mod.ROOT).encode() + b"/"
112
+ unoptimized_stdout = unoptimized.stdout.replace(root_bytes, b"")
113
+ optimized_stdout = optimized.stdout.replace(root_bytes, b"")
109
114
  diff_chunks = list(
110
115
  difflib.diff_bytes(
111
116
  difflib.unified_diff,
112
- unoptimized.stdout.splitlines(keepends=True),
113
- optimized.stdout.splitlines(keepends=True),
117
+ unoptimized_stdout.splitlines(keepends=True),
118
+ optimized_stdout.splitlines(keepends=True),
114
119
  n=2**31 - 1,
115
120
  )
116
121
  )[3:]
@@ -118,7 +123,7 @@ class DiffRunner(TqlRunner):
118
123
  diff_bytes = b"".join(diff_chunks)
119
124
  else:
120
125
  diff_bytes = b"".join(
121
- b" " + line for line in unoptimized.stdout.splitlines(keepends=True)
126
+ b" " + line for line in unoptimized_stdout.splitlines(keepends=True)
122
127
  )
123
128
  ref_path = test.with_suffix(".diff")
124
129
  if update:
@@ -1,31 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import shlex
4
- import subprocess
5
- from typing import Sequence
6
-
7
- _COMMANDS: Sequence[Sequence[str]] = (
8
- ("ruff", "check"),
9
- ("ruff", "format", "--check"),
10
- ("mypy",),
11
- ("pytest",),
12
- ("uv", "build"),
13
- )
14
-
15
-
16
- def _run(command: Sequence[str]) -> None:
17
- printable = " ".join(shlex.quote(part) for part in command)
18
- print(f"> {printable}")
19
- result = subprocess.run(command, check=False)
20
- if result.returncode != 0:
21
- raise SystemExit(result.returncode)
22
-
23
-
24
- def main() -> int:
25
- for command in _COMMANDS:
26
- _run(command)
27
- return 0
28
-
29
-
30
- if __name__ == "__main__":
31
- raise SystemExit(main())
File without changes
File without changes