mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-20 14:45:41 +00:00
46f1d4f2f7
The Subiquity template offers the installer logs with "nc -l 8080" in
error-commands. Subiquity waits for every error command to return, and that
listener waits for a collector an unattended install never has, so a failed
install stops there until the provisioning timeout resets the node.
The test runs the template's own error commands with nc, tar and tail replaced,
and requires that they return and that they write the end of the curtin log to
the console the caller names. Both assertions fail before the fix: the first
times out.
Evidence: reg_linux_diskfull_installation_flat on Ubuntu 24.04 ppc64le, cluster
xcat25. The node wrote no disk block and sent no packet for 18 minutes with the
console at "acquiring and extracting image from cp:///tmp/.../mount". Port 8080
was open; one connection to it released the install and the console then
reported the error.
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
(cherry picked from commit 19a7a41572)
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.