diff --git a/xCAT-test/native/README.md b/xCAT-test/native/README.md index 6dac73a77..a1884f58b 100644 --- a/xCAT-test/native/README.md +++ b/xCAT-test/native/README.md @@ -16,6 +16,34 @@ It can run as root or an ordinary user with user namespaces enabled. This case checks service policy and ordering; it does not boot or reinstall an OS. The client steps cannot access the source tree or the server postscripts directory. +## Ubuntu media and image fixtures + +The pull-request workflow runs these four tests explicitly: + +``` +prove xCAT-test/native/ubuntu_live_media_guardrails.t \ + xCAT-test/native/ubuntu_genimage_debootstrap_arch.t \ + xCAT-test/native/ubuntu_genimage_apt_mirror.t \ + xCAT-test/native/ubuntu_genimage_resolver_libs.t +``` + +They require Linux user namespaces, Bubblewrap, cpio, gzip, GNU timeout and +the system Perl in `/usr/bin` or `/bin`. Install the source-tree Perl dependencies, +including File::Slurper, DBI and DBD::SQLite, for that interpreter. Tools must be +in `/usr/bin`, `/bin`, `/usr/sbin` or `/sbin`. Run the tests as an ordinary user. +Missing Linux prerequisites fail the tests; other operating systems skip them. + +The fixtures execute the checkout's unchanged Debian plugin and Ubuntu genimage +script with private filesystems and no network access. Media copying, database +updates, the image's APT sources.list and initrd archives are real. Decompression +and archive inspection are real too. The debootstrap command records its arguments; +the architecture test stops at its deliberate failure. The mirror test lets it +complete, replaces mount commands and stops at a deliberate apt-get update failure. +The initrd fixture supplies chroot ldd and depmod results. These tests do not install +packages, execute target-architecture binaries or prove that the generated image boots. + +## Other native tests + Run the package and unprivileged namespace cases as an ordinary user: ```