mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-21 16:39:30 +00:00
eb37cd6e20
REQUIRED_PACKAGES named util-linux-extra for every release. focal and jammy have no such package -- apt reports "Candidate: (none)" -- so apt-get install exits non-zero and, under set -euo pipefail, the build stops before dracut runs. hwclock is in util-linux there, which is essential and already present. optional_packages() keeps a package only where apt has a candidate for it, and util-linux-extra goes through it. The unconditional list keeps isc-dhcp-client and ifenslave, which every release has and neither of which the build root carries by itself. The call to verify-genesis-payload goes with it. That script is added by the genesis payload branch, not this one, so the line stopped the build at the point it was meant to guard. Also corrects the plan count and a dereference in the test committed before this one. 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.