2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-10-21 15:18:19 +00:00
Commit Graph

75 Commits

Author SHA1 Message Date
Daniel Hilst 558bf24138 Merge pull request #7923 from VersatusHPC/test/r26-profile-rendering
test(provisioning): exercise rendered profiles and installer commands
2026-10-16 20:19:26 -03:00
Daniel Hilst 1bde265fc4 Merge pull request #7924 from VersatusHPC/test/r26-isolated-scripts
test(provisioning): isolate disk, kdump and sudoer checks
2026-10-16 20:16:49 -03:00
Vinícius Ferrão c30447e94f docs(test): describe the disk selection test boundary 2026-10-16 19:07:03 -03:00
Vinícius Ferrão 28b22d7825 test(provisioning): exercise disk selection with BATS
Source the unchanged selector with explicit partition and udev fixtures.
Bound awk discovery to the fixture so runner filesystem size cannot delay
selection. Keep rendered-installer coverage and independent CI failures.
2026-10-16 19:06:47 -03:00
Vinícius Ferrão ab034a6d58 test(provisioning): avoid aborting the isolated script suite 2026-10-16 19:06:47 -03:00
Vinícius Ferrão 5426b3fba0 docs(test): describe isolated script prerequisites 2026-10-16 19:06:46 -03:00
Vinícius Ferrão 7557d00481 test(sudoer): isolate account and privilege configuration 2026-10-16 19:06:26 -03:00
Vinícius Ferrão 599cd3f32f test(kdump): execute per-node configuration in isolation 2026-10-16 19:06:26 -03:00
Vinícius Ferrão 509a60def2 test(provisioning): isolate install disk selection checks 2026-10-16 19:06:25 -03:00
Vinícius Ferrão 0b70a389a3 test(genimage): check the chroot mounts of a new RPM image
The image caller tests create the run directory in their fixture
image, so they did not see a bind mount to a missing mount point.

Run rh/genimage on a new and on an existing image directory. The mount
fixture fails like mount(8) when the mount point is missing, and the
package manager fixture records the mounts in place when the packages
install. Cover EL9 through the rh and rocky entry points, and EL6,
which does not mount /proc and /sys. The pull-request workflow runs
the test.
2026-10-16 18:45:27 -03:00
Vinícius Ferrão c2d64d4e58 docs(test): describe profile artifact test prerequisites
List the native cases selected by CI, their dependencies and their isolation requirements. Distinguish rendered-artifact execution from operating-system and firmware boot qualification.
2026-10-16 18:33:42 -03:00
Vinícius Ferrão 1d362211e7 test(ubuntu): execute rendered Subiquity command sequences
Render Subiquity configuration with real database rows and execute the emitted commands in private namespaces. Check resulting files, failure ordering and the install-monitor handshake without rewriting shell fragments.
2026-10-16 18:33:42 -03:00
Vinícius Ferrão fdf18e24c3 test(packaging): run the generated Debian repository helper
Build a real package and repository, then execute the generated helper with representative host architectures and releases. Check its apt configuration and preserve unrelated sources.
2026-10-16 18:33:41 -03:00
Vinícius Ferrão 4c47d8b3ec test(netboot): execute selected RISC-V postinstall scripts
Run each selected postinstall script in an isolated filesystem. Check SELinux settings and fstab after repeated execution instead of comparing shell source.
2026-10-16 18:33:41 -03:00
Vinícius Ferrão 7af7b97a78 test(provisioning): execute rendered RISC-V install checks
Render the selected profiles with an isolated database. Check the installer data and run the emitted post-install blocks against a private filesystem, including the EFI fallback and missing-loader paths.

Run the native case from the source snapshot preserved before CI package builds.
2026-10-16 18:33:41 -03:00
Daniel Hilst cf170b36c4 Merge pull request #7942 from VersatusHPC/feat/rootimg-sha256
feat(netboot): check the root image against its SHA-256 checksum
2026-10-16 18:18:10 -03:00
Daniel Hilst d8c38ec6d2 Merge pull request #7906 from VersatusHPC/fix/openeuler-core-mock-resultdir-owner
fix(xcat-core): the openEuler ppc64le core build runs rpmbuild as root
2026-10-15 18:15:42 -03:00
Daniel Hilst 39c12e119b fix(xcat-core): give the release repository test a stand-in for mock's loader
buildall now calls prepare_mock_resultdirs before the cache checks, so a
cached build also loads the mock configuration through mockbuild.config.
release_repository.t builds xCAT-release in a user namespace on a host
without mock, and the build stopped with "mock is not installed: cannot
import mockbuild.config".

The namespace fixture already stands in for /etc/mock. It now also puts a
stand-in mockbuild package on PYTHONPATH. Its load_config fails when the
chroot configuration is missing, and reports the caller as chrootuid, as
mock does when no chrootuid is set. buildrpms.pl is unchanged.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-15 14:42:47 -03:00
Daniel Hilst 5c6347d930 Merge master into fix/openeuler-core-mock-resultdir-owner
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-15 13:42:27 -03:00
Vinícius Ferrão d59a683570 docs(test): describe the liteimg archive test 2026-10-14 13:14:50 -03:00
Vinícius Ferrão 0cca31bd2b test(statelite): run the liteimg archive test with the native tests
The liteimg archive test runs real cpio and gzip, and puts compressor
and ctorrent fixtures in PATH. That is a native test, so it moves out
of the unit suite. The pull-request workflow runs it explicitly.

A missing Linux tool now fails the test instead of skipping it. An
ilitefile fixture replaces the runcmd override, so liteimg runs its
commands through the real runcmd.
2026-10-14 13:14:50 -03:00
Vinícius Ferrão b7adfccad3 docs(test): describe the Debian probe permission check 2026-10-14 12:56:24 -03:00
Vinícius Ferrão 957c52fe53 test(probe): exercise Debian package permissions 2026-10-14 12:38:00 -03:00
Daniel Hilst 2ae9abbaf8 Merge pull request #7936 from VersatusHPC/refactor/r26-genesis-reuse
refactor(genesis): share runtime helpers and build policy
2026-10-14 11:47:15 -03:00
Daniel Hilst 82a658ff23 Merge pull request #7917 from VersatusHPC/test/r26-package-artifacts
test(packaging): exercise package and repository behavior
2026-10-14 11:44:03 -03:00
Vinícius Ferrão ead8e8d4cb docs(test): describe Genesis runtime and dialog checks 2026-10-13 22:16:51 -03:00
Vinícius Ferrão 28dc7a8059 test(genesis): execute the POWER metadata patch policy 2026-10-13 22:16:51 -03:00
Vinícius Ferrão bc8d4e58d8 test(genesis): check resolved common machine policy 2026-10-13 22:16:51 -03:00
Vinícius Ferrão a1bb33d1d3 test(genesis): preserve status publication failure policies 2026-10-13 22:16:50 -03:00
Vinícius Ferrão 2a201ab62c test(genesis): prepare shared runtime library fixtures 2026-10-13 22:16:50 -03:00
Vinícius Ferrão eaf95fb5bd test(genesis): exercise newt dialog navigation 2026-10-13 22:16:50 -03:00
Vinícius Ferrão 3dd18b3996 test(genesis): exercise destiny transport and cleanup 2026-10-13 22:16:49 -03:00
Vinícius Ferrão 045ee1c327 test(genesis): wait for recipe rejection diagnostics
BitBake can return a rejected parse before its error event arrives.
Keep the log assertion open until the expected diagnostic arrives or
its deadline expires.
2026-10-13 22:16:49 -03:00
Daniel Hilst 8898316a23 test(xcat-core): the mock owner ignores sudo and fresh output parents
mock loads its configuration as the user that sudo names, so a
configuration without chrootuid builds as SUDO_UID. mock_build_owner
runs the loader as root and reports uid 0, and prepare_mock_resultdirs
then leaves root-owned logs that the build user cannot append to.

Under umask 077, prepare_mock_resultdirs creates dist/<target> as 0700.
The build user cannot reach rpms or SRPMS below it. The previous
regression changed those parents to 0755 before it called the helper.

Add a sudo-caller case and a fresh-tree case to the native test, and a
mode check of the new parents to the unit test.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-10-13 15:13:39 -03:00
Vinícius Ferrão c177137afa test(packaging): keep failures local to each test file 2026-10-13 11:39:40 -03:00
Vinícius Ferrão 9fca236b51 docs(test): describe native package checks 2026-10-13 11:38:44 -03:00
Vinícius Ferrão dbbdcddcb2 test(packaging): query resolved RPM dependencies 2026-10-13 11:38:11 -03:00
Vinícius Ferrão 709bf6b678 test(provisioning): keep prerequisite failures local to each file 2026-10-13 11:38:10 -03:00
Vinícius Ferrão e7c7babce0 test(build): exercise release repository finalization 2026-10-13 11:38:10 -03:00
Vinícius Ferrão aebc350e1a test(probe): exercise the built RPM payload 2026-10-13 11:38:10 -03:00
Vinícius Ferrão afa35f524f docs(test): describe image caller test boundaries 2026-10-13 11:38:09 -03:00
Vinícius Ferrão 2d751ac847 test(el10): exercise media and RPM package policy 2026-10-13 11:38:09 -03:00
Vinícius Ferrão 14d0ac27da test(genimage): check driver selection after driver updates 2026-10-13 11:38:09 -03:00
Daniel Hilst be9c063981 Merge pull request #7913 from VersatusHPC/test/r26-ubuntu-image-behavior
test(ubuntu): exercise media imports and genimage behavior
2026-10-13 11:21:29 -03:00
Daniel Hilst d1f63dfc25 Merge pull request #7925 from VersatusHPC/test/r26-genesis-behavior
test(genesis): exercise startup and OpenEmbedded build contracts
2026-10-13 10:16:23 -03:00
Daniel Hilst abf0f2228f Merge pull request #7935 from VersatusHPC/refactor/r26-package-lifecycle
refactor(packaging): share package lifecycle helpers
2026-10-13 10:00:14 -03:00
Vinícius Ferrão 105069634d docs(test): describe Genesis test boundaries 2026-10-12 15:56:25 -03:00
Vinícius Ferrão 54ce837c6f test(genesis): evaluate OpenEmbedded build contracts 2026-10-12 15:56:25 -03:00
Vinícius Ferrão b2a73685fb docs(test): document Ubuntu image fixture boundaries
Describe the native test prerequisites, external command doubles and the image-building behavior these fixtures do not qualify.
2026-10-12 13:58:45 -03:00
Vinícius Ferrão 320a1a1299 test(ubuntu): inspect resolver files in generated initrds
Run the unchanged initrd builder with fixture binaries and inspect both generated archives. Replace source extraction with checks for selected libraries and their contents.
2026-10-12 13:58:45 -03:00