test + lib: Fix miscellanous bugs and inconsistencies #46
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "jan/feature/20260704-test-fix-test-py-duplicate-module-name-error"
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?
Fix miscellaneous bugs, partly dug up by AI.
lib.CopyContext._run(): Fix infinite recursion
The CopyContext._run() calls await self._run(), which would create infinite recursion raising RecursionError at runtime. Make it a pure virtual.
lib.Uri: Return 'file' scheme for local paths
The scheme property returns 'file://' for local paths instead of 'file', causing scheme_plus_authority to produce 'file://://' with a triple slash.
Also fix the test to expect 'file' instead of 'file://'.
lib.CmdBuild.add_dep_tree(): Fix broken f-string
log() uses a regular string instead of an f-string, fix that.
lib.DistroContext: Remove dead code from install()
Remove unused helper functions from install(): _matches_host_prefix(), _crop_host_prefix(), _crop_default_prefix(), and _matches_default_prefix().
lib.Distro: Fix typo instaniate to instantiate
Two error messages in Distro.init() contain the typo 'instaniate' instead of 'instantiate'. Fix the spelling.
lib.ProjectConf: Clean up temp files
The _load() helper in test/unit/python/jw/pkg/lib/ProjectConf/test.py uses tempfile.NamedTemporaryFile(..., delete=False) but never removes the created files. Each test call leaked a .conf file in /tmp.
Track all created paths in a _tmpfiles list and call _cleanup() at the end of the test to unlink them.
test: apply yapf formatting to test.py files
Yapf complains about spacing inconsistencies around assignment operators in function calls, fix that.
test: Fix test.py duplicate module name error
Mypy scans both src/python/ and test/ under the same jw namespace, and finds three test files named test.py. Without a package root at the test/ level, mypy resolves all of them to the bare module name test, and rejects them as duplicates.
Add init.py at test/ marks it as a package root, so each test.py resolves to a unique full path, e.g.
test.unit.python.jw.pkg.lib.Result.test
test: Fix test.py duplicate module name errorto test + lib: Fix miscellanous bugs and inconsistencies