mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-25 09:14:05 +00:00
161719b9ce
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>
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.