mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-20 14:45:41 +00:00
c3c253ba00
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>
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.