Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a29b831e41 | ||
|
|
bc9ca140bd | ||
|
|
ad8e3cd07c |
12
CHANGELOG.md
12
CHANGELOG.md
@@ -1,6 +1,16 @@
|
|||||||
|
## [0.7.14] - 2025-12-10
|
||||||
|
|
||||||
|
* Fixed the clone-all integration test so that `SystemExit(0)` from the proxy is treated as a successful command instead of a failure.
|
||||||
|
|
||||||
|
|
||||||
## [0.7.13] - 2025-12-10
|
## [0.7.13] - 2025-12-10
|
||||||
|
|
||||||
* Automated release.
|
### Fix tools path resolution and add tests
|
||||||
|
|
||||||
|
- Fixed a crash in `pkgmgr code` caused by missing `directory` metadata by introducing `_resolve_repository_path()` with proper fallbacks to `repositories_base_dir` / `repositories_dir`.
|
||||||
|
- Updated `explore`, `terminal` and `code` tool commands to use the new resolver.
|
||||||
|
- Improved VS Code workspace generation and path handling.
|
||||||
|
- Added unit & E2E tests for tool commands.
|
||||||
|
|
||||||
|
|
||||||
## [0.7.12] - 2025-12-09
|
## [0.7.12] - 2025-12-09
|
||||||
|
|||||||
2
PKGBUILD
2
PKGBUILD
@@ -1,7 +1,7 @@
|
|||||||
# Maintainer: Kevin Veen-Birkenbach <info@veen.world>
|
# Maintainer: Kevin Veen-Birkenbach <info@veen.world>
|
||||||
|
|
||||||
pkgname=package-manager
|
pkgname=package-manager
|
||||||
pkgver=0.7.13
|
pkgver=0.7.14
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Local-flake wrapper for Kevin's package-manager (Nix-based)."
|
pkgdesc="Local-flake wrapper for Kevin's package-manager (Nix-based)."
|
||||||
arch=('any')
|
arch=('any')
|
||||||
|
|||||||
6
debian/changelog
vendored
6
debian/changelog
vendored
@@ -1,3 +1,9 @@
|
|||||||
|
package-manager (0.7.14-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Fixed the clone-all integration test so that `SystemExit(0)` from the proxy is treated as a successful command instead of a failure.
|
||||||
|
|
||||||
|
-- Kevin Veen-Birkenbach <kevin@veen.world> Wed, 10 Dec 2025 10:38:33 +0100
|
||||||
|
|
||||||
package-manager (0.7.13-1) unstable; urgency=medium
|
package-manager (0.7.13-1) unstable; urgency=medium
|
||||||
|
|
||||||
* Automated release.
|
* Automated release.
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
rec {
|
rec {
|
||||||
pkgmgr = pyPkgs.buildPythonApplication {
|
pkgmgr = pyPkgs.buildPythonApplication {
|
||||||
pname = "package-manager";
|
pname = "package-manager";
|
||||||
version = "0.7.13";
|
version = "0.7.14";
|
||||||
|
|
||||||
# Use the git repo as source
|
# Use the git repo as source
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Name: package-manager
|
Name: package-manager
|
||||||
Version: 0.7.13
|
Version: 0.7.14
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Wrapper that runs Kevin's package-manager via Nix flake
|
Summary: Wrapper that runs Kevin's package-manager via Nix flake
|
||||||
|
|
||||||
@@ -77,6 +77,9 @@ echo ">>> package-manager removed. Nix itself was not removed."
|
|||||||
/usr/lib/package-manager/
|
/usr/lib/package-manager/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Dec 10 2025 Kevin Veen-Birkenbach <kevin@veen.world> - 0.7.14-1
|
||||||
|
- Fixed the clone-all integration test so that `SystemExit(0)` from the proxy is treated as a successful command instead of a failure.
|
||||||
|
|
||||||
* Wed Dec 10 2025 Kevin Veen-Birkenbach <kevin@veen.world> - 0.7.13-1
|
* Wed Dec 10 2025 Kevin Veen-Birkenbach <kevin@veen.world> - 0.7.13-1
|
||||||
- Automated release.
|
- Automated release.
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "package-manager"
|
name = "package-manager"
|
||||||
version = "0.7.13"
|
version = "0.7.14"
|
||||||
description = "Kevin's package-manager tool (pkgmgr)"
|
description = "Kevin's package-manager tool (pkgmgr)"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.11"
|
requires-python = ">=3.11"
|
||||||
|
|||||||
@@ -26,6 +26,11 @@ class TestIntegrationCloneAllHttps(unittest.TestCase):
|
|||||||
"""
|
"""
|
||||||
Helper that runs the CLI command via main.py and provides
|
Helper that runs the CLI command via main.py and provides
|
||||||
extra diagnostics if the command exits with a non-zero code.
|
extra diagnostics if the command exits with a non-zero code.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
The pkgmgr CLI may exit via SystemExit(0) on success
|
||||||
|
(e.g. when handled by the proxy layer). In that case we
|
||||||
|
treat the test as successful and do not raise.
|
||||||
"""
|
"""
|
||||||
cmd_repr = "pkgmgr clone --all --clone-mode https --no-verification"
|
cmd_repr = "pkgmgr clone --all --clone-mode https --no-verification"
|
||||||
original_argv = sys.argv
|
original_argv = sys.argv
|
||||||
@@ -44,19 +49,36 @@ class TestIntegrationCloneAllHttps(unittest.TestCase):
|
|||||||
# This will run the full clone pipeline inside the container.
|
# This will run the full clone pipeline inside the container.
|
||||||
runpy.run_module("main", run_name="__main__")
|
runpy.run_module("main", run_name="__main__")
|
||||||
except SystemExit as exc:
|
except SystemExit as exc:
|
||||||
# Convert SystemExit into a more helpful assertion with debug output.
|
# Determine the exit code (int or string)
|
||||||
exit_code = exc.code if isinstance(exc.code, int) else str(exc.code)
|
exit_code = exc.code
|
||||||
|
if isinstance(exit_code, int):
|
||||||
|
numeric_code = exit_code
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
numeric_code = int(exit_code)
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
numeric_code = None
|
||||||
|
|
||||||
|
# Treat SystemExit(0) as success (expected behavior)
|
||||||
|
if numeric_code == 0:
|
||||||
|
print(
|
||||||
|
"\n[TEST] pkgmgr clone --all finished with SystemExit(0); "
|
||||||
|
"treating as success."
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
|
# For non-zero exit codes: convert SystemExit into a more
|
||||||
|
# helpful assertion with debug output.
|
||||||
print("\n[TEST] pkgmgr clone --all failed with SystemExit")
|
print("\n[TEST] pkgmgr clone --all failed with SystemExit")
|
||||||
print(f"[TEST] Command : {cmd_repr}")
|
print(f"[TEST] Command : {cmd_repr}")
|
||||||
print(f"[TEST] Exit code: {exit_code}")
|
print(f"[TEST] Exit code: {exit_code!r}")
|
||||||
|
|
||||||
# Additional Nix profile debug on failure (may still be useful
|
# Additional Nix profile debug on failure (may still be useful
|
||||||
# if the clone step interacts with Nix-based tooling).
|
# if the clone step interacts with Nix-based tooling).
|
||||||
nix_profile_list_debug("ON FAILURE (AFTER SystemExit)")
|
nix_profile_list_debug("ON FAILURE (AFTER SystemExit)")
|
||||||
|
|
||||||
raise AssertionError(
|
raise AssertionError(
|
||||||
f"{cmd_repr!r} failed with exit code {exit_code}. "
|
f"{cmd_repr!r} failed with exit code {exit_code!r}. "
|
||||||
"Scroll up to see the full pkgmgr/make output inside the container."
|
"Scroll up to see the full pkgmgr/make output inside the container."
|
||||||
) from exc
|
) from exc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user