- Enable 'nix-command' and 'flakes' globally via flake.nix nixConfig - Improve .gitignore by excluding *.log files - Add integration test for shallow clone mode using pkgmgr install pipeline - Ensures pkgmgr works end-to-end inside test container with --clone-mode shallow See: https://chatgpt.com/share/69332bc4-a128-800f-a69c-fdc24c4cc7fe
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
"""
|
|
Integration test: install all configured repositories using
|
|
--clone-mode shallow (HTTPS shallow clone) and --no-verification.
|
|
|
|
This test is intended to be run inside the Docker container where:
|
|
- network access is available,
|
|
- the config/config.yaml is present,
|
|
- and it is safe to perform real git operations.
|
|
|
|
It passes if the command completes without raising an exception.
|
|
"""
|
|
|
|
import runpy
|
|
import sys
|
|
import unittest
|
|
|
|
|
|
class TestIntegrationInstallAllShallow(unittest.TestCase):
|
|
def test_install_all_repositories_shallow(self):
|
|
"""
|
|
Run: pkgmgr install --all --clone-mode shallow --no-verification
|
|
|
|
This will perform real installations/clones inside the container.
|
|
The test succeeds if no exception is raised.
|
|
"""
|
|
original_argv = sys.argv
|
|
try:
|
|
sys.argv = [
|
|
"pkgmgr",
|
|
"install",
|
|
"pkgmgr",
|
|
"--clone-mode",
|
|
"shallow",
|
|
"--no-verification",
|
|
]
|
|
|
|
# Execute main.py as if it was called from CLI.
|
|
# This will run the full install pipeline inside the container.
|
|
runpy.run_module("main", run_name="__main__")
|
|
|
|
finally:
|
|
sys.argv = original_argv
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|