Shell unit tests were introduced under xCAT-test/autotest/bats, but the existing source-tree unit suite already lives directly under xCAT-test/unit. Keeping the BATS suite under xCAT-test/bats makes the unit-test layout consistent and keeps autotest reserved for xcattest-driven functional cases. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
879 B
xCAT-test/bats
Shell-script unit tests live here and run with:
bats -r xCAT-test/bats
The GitHub Actions xcat_test workflow runs this command after the Perl .t
unit tests. Use BATS for shell behavior that can be exercised from the source
tree without an installed xCAT, a live management node, or real services.
Prefer sourcing an existing shell library or sourceable script and calling the
function under test. Keep reusable install-template helpers in
xCAT-server/share/xcat/install/scripts/scriptlib, and reusable postscript
helpers in xCAT/postscripts/xcatlib.sh. Use scratch directories and shadowed
commands so tests cannot write to the host.
Extraction helpers in helpers/shell_source.bash are only for legacy code that
cannot safely be sourced yet. Do not add Perl .t tests that grep shell source
when the behavior can be tested with BATS.