2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-10-20 14:45:41 +00:00
Files
xcat-core/xCAT-test
Daniel Hilst c3c253ba00 fix(xcat-core): the Ubuntu Genesis image is built from the build host kernel
dracut copies the kernel, the modules and every command out of the root it runs in. The Ubuntu
Genesis deb was built once on the build host, so every Ubuntu release received the build host
kernel, and the pipelines converted the EL rpm with alien instead.

builddebs.pl gains --genesis, --genesis-only and --genesis-dist, and builds the deb once per
codename inside that codename's sbuild chroot. builddeb-genesis-base takes --expect-codename and
stops in the wrong root. genesis_log_errors fails the build on an error line that a zero exit
status hides.

Without --genesis-only the dep pipeline cannot build the Ubuntu Genesis payload, so the apt dep
tree stays empty and the release candidate carries no Ubuntu dep repository.

xCAT-test/unit/genesis_deb_per_codename.t covers the per-codename build.

Backport of #7835 to 2.19.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-09-24 21:16:52 -03:00
..
…

xCAT-test

Unit tests that run from the source checkout are split by implementation language:

Test type Location Runner
Perl unit tests xCAT-test/unit/*.t prove -r xCAT-test/unit
Shell unit tests xCAT-test/bats/*.bats bats -r xCAT-test/bats
CLI functional tests xCAT-test/autotest/testcase/ and xCAT-test/autotest/bundle/ xcattest -f <cluster.conf> -t <case> or xcattest -f <cluster.conf> -b <bundle>

Use Perl .t tests for Perl modules, Perl scripts, templates, and repository artifacts. Use BATS tests for shell-script behavior that can be exercised from the checkout by sourcing a shell library or script and shadowing external commands.

Shell behavior should not be tested by Perl tests that grep shell source. Put those tests under xCAT-test/bats instead.

See unit/README.md and bats/README.md for the detailed rules for each unit-test suite.