From 9fca236b512e3fb9cfcf288cffdaef0fc5510117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Thu, 8 Oct 2026 22:49:51 -0300 Subject: [PATCH] docs(test): describe native package checks --- xCAT-test/bats/README.md | 2 +- xCAT-test/native/README.md | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/xCAT-test/bats/README.md b/xCAT-test/bats/README.md index c89958e17..28cbd4b33 100644 --- a/xCAT-test/bats/README.md +++ b/xCAT-test/bats/README.md @@ -32,7 +32,7 @@ Missing prerequisites fail these tests 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`. -`go_xcat_os_release.bats` and the full-script cases in +`go_xcat_os_release.bats`, `go_xcat_activation.bats` and the full-script cases in `postscripts_apt_get.bats` use the same namespace isolation. They require bats-core 1.4 or newer. OS detection also requires GNU awk for the legacy Red Hat release parser. Postscript cases require GNU diffutils. diff --git a/xCAT-test/native/README.md b/xCAT-test/native/README.md index e349e1d5f..ab1dba878 100644 --- a/xCAT-test/native/README.md +++ b/xCAT-test/native/README.md @@ -44,6 +44,23 @@ packages, execute target-architecture binaries or prove that the generated image ## Other native tests +The pull-request workflow runs these packaging cases explicitly as an ordinary +user: + +``` +prove xCAT-test/native/probe_package_payload.t \ + xCAT-test/native/release_repository.t \ + xCAT-test/native/package_relations.t +``` + +They need RPM build/query tools, cpio, createrepo_c, zstd, rsync, GnuPG, Python 3 +with RPM bindings, user/mount namespaces, and the Perl modules Capture::Tiny, +File::Slurper, Parallel::ForkManager and XML::LibXML. The probe command also +needs `which`. The release test uses an ephemeral signing key and removes its +agent. These checks inspect real packages and repository output; they do not +qualify package installation on every target architecture. On EL8, install both +`python36` and `python3-rpm` to provide the interpreter and its RPM bindings. + Run the package and unprivileged namespace cases as an ordinary user: ```