2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-30 14:55:16 +00:00

docs(test): describe the otherpkgs sandbox prerequisites

This commit is contained in:
Vinícius Ferrão
2026-09-22 03:08:26 -03:00
parent 36168bc4f2
commit 3d09f4a068
2 changed files with 16 additions and 0 deletions
+3
View File
@@ -10,6 +10,9 @@ The GitHub Actions `xcat_test` workflow runs this command after the Perl `.t`
unit tests. Use BATS for shell behavior that can be exercised from the source
tree without an installed xCAT, a live management node, or real services.
The existing `otherpkgs_upgrade_scope.t` remains in `unit/` for its structured
command and repository assertions. See its [sandbox prerequisites](../unit/README.md#postscript-sandbox-prerequisites).
Prefer sourcing an existing shell library or sourceable script and calling the
function under test. Keep reusable install-template helpers in
`xCAT-server/share/xcat/install/scripts/scriptlib`, and reusable postscript
+13
View File
@@ -10,6 +10,19 @@ which calls `run_unit_tests()` in `github_action_xcat_test.pl`:
prove -r xCAT-test/unit
```
## Postscript sandbox prerequisites
`otherpkgs_upgrade_scope.t` runs the complete postscript in a Linux filesystem
sandbox. It requires Bubblewrap, Bash, GNU core utilities, and permission to create
user namespaces. The CI workflow installs Bubblewrap and enables those namespaces.
Missing prerequisites fail this test without stopping unrelated test files.
Non-Linux hosts report a skip. Set `TMPDIR` to a writable, executable filesystem
if the default temporary directory is mounted with `noexec`.
This test is an exception to the shell-test placement rule below. It stays in Perl
to compare structured command arguments and generated repository records with the
existing test helpers. It does not read or extract postscript source.
You can run exactly the same thing from a clean checkout:
```