main #19
Reference in New Issue
Block a user
Delete Branch "main"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Update of the ai branch after 0.1 release
Move src/lib/ → src/testium/runtime/ (internal plumbing) Move src/testium/libs/ → src/testium/api/ (public SDK for test scripts) Move src/py_func/ → src/testium/py_func/ (Python subprocess) Move src/lua_func/ → src/testium/lua_func/ (Lua subprocess data) The package now ships as a single coherent unit instead of four sibling top-level packages (testium, lib, py_func, lua_func) — pip install gives a clean site-packages/testium/ with no namespace pollution; .lua files travel with the wheel via package_data; the wheel installs cleanly and `testium -b` runs end-to-end including py_func subprocesses and entry-point exporter plugins. Naming: - runtime/ (internal, no API guarantees) clearer than lib/ - api/ (public SDK consumed as `import api.testium as tm`) clearer than libs/ Imports updated en masse: from lib. → from runtime. and from libs. → from api., plus the importlib.import_module("libs.*") strings in test_item_console.py and test_item_runtime_plot.py. Test/example scripts (helper_lib.py, parallel.py, post_execution.py) and the fake_exporter test suite migrated too. paths.py: subproc_path() now returns testium_path() — both point at the testium package directory since the subprocesses live inside. pyproject.toml: removed exclude=["lua_func", "py_func"] (no longer needed), added package-data for testium.lua_func/*.lua, removed the license classifier (PEP 639 conflict with license expression). Subprocess isolation contract: py_func/ and lua_func/ may only import runtime/ and their own modules — never interpreter/, main_win/, api/, or testium/. Enforced by test/validation/items/isolation/ which runs a py_func that statically scans subprocess source files for forbidden imports. The contract holds today; the test prevents future drift. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>get_testium_version() used pkg_resources (deprecated, slow to import) and a narrow catch on git.InvalidGitRepositoryError; any other git exception fell through to the outer except and returned "unknown". - Use importlib.metadata.version("testium") to read the wheel version that setuptools bakes from src/VERSION at build time. Works out of any source checkout — pip-installed copies report "<x.y> (wheel release)" instead of "unknown". - Source-checkout path: tried first when prefs.git_supported, broadly catches Exception so a missing repo / detached worktree / etc. no longer hides the wheel-metadata fallback. - PyInstaller path: graceful "unknown (binary release)" if the bundled VERSION file is unreadable, instead of an unhandled exception. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>Pull request closed