The directory holds the Genesis image sources and, beside them, a builder that no pipeline runs. buildrpm, debuild-xcat-genesis-base, install, install.ubuntu, check, cmdlist_check, findmcprpms, xCAT-genesis-builder.spec and the root makerpm-genesisbuilder have no caller. So has build-ubunturepo, which builddebs.pl replaced, and its -r flag has set an unread variable since 2013. docs/source/references/coral/known_issues/genesis_base.rst tells the reader to install an rpm no build produces, and go-xcat offers to remove that package. Delete all of them, and rename the directory xCAT-genesis-base for what it holds: the dracut modules the EL spec and the Ubuntu builder read, the OpenEmbedded layers the GitHub job builds, the deb packaging, the image scripts and 80-net-name-slot.rules. Every reader of the old path is updated: buildrpms.pl, .gitattributes, the OE workflow and the OpenEmbedded tests. buildrpms.pl mapped the package xCAT-genesis-base to the directory xCAT-genesis-builder; the two names are the same now, so the mapping goes. xcat_probe_package_payload.t read build-ubunturepo for the probe helper staging. builddebs.pl stages them with XCAT::BuildUtils::stage_probe_helpers, which build_utils.t drives directly. genesis_base_sources_staged.t passes with this change. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
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.