2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-25 09:14:05 +00:00
Files
xcat-core/xCAT-test
Daniel Hilst 161719b9ce test(xcat-core): the Ubuntu Genesis image is built from the build host kernel
builddebs.pl carries no Genesis step. The Ubuntu Genesis deb is produced by
xCAT-genesis-builder/builddeb-genesis-base, which nothing calls, and that script
reads /lib/modules and /boot of the host it runs on. One build therefore gives
every Ubuntu release the kernel and the modules of the build host.

The script also has no payload gate. dracut reports a command it cannot install
with a FAILED: line and exits 0, so the build that shipped the image with no
dhclient reported success. Its build root omits isc-dhcp-client, ifenslave and
util-linux-extra.

genesis_deb_per_codename.t asserts the chroot each codename builds in, the log
lines that mean a build failed although it exited 0, and the refusal of the
builder to run in a root of another release. genesis_payload_verification.t
drives verify-genesis-payload against payload trees with a known hole.
genesis_ubuntu_build_root.t reads the mandatory commands back from the dracut
module and asserts the build root supplies each one.

All three fail on this commit.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-09-12 08:27:22 -03:00
..
2018-04-26 15:15:47 -04: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.