2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-10-21 07:08:12 +00:00

docs(test): describe the disk selection test boundary

This commit is contained in:
Vinícius Ferrão
2026-10-16 11:46:32 -03:00
parent 28b22d7825
commit c30447e94f
+16 -8
View File
@@ -141,20 +141,28 @@ Compressor and ctorrent fixtures record what nodes can download during the
pack, or fail on request. The image lock and the ilitefile query are test
doubles. This case does not boot the image.
The disk, kdump and sudoer cases require Bubblewrap, GNU timeout, Capture::Tiny,
File::Slurper and sudo's `visudo`. Sandbox commands have a 45-second limit.
Enable Linux user namespaces. Run the group
as root because the disk case creates dummy block-device entries:
The disk, kdump and sudoer cases require bats-core 1.4 or newer, Bubblewrap,
GNU timeout, diffutils, Capture::Tiny, File::Slurper and sudo's `visudo`.
Sandbox commands have a 45-second limit. Enable Linux user namespaces.
Run the group as root because
the disk-selection case creates dummy block-device entries:
```
sudo prove xCAT-test/native/getinstdisk_selection.t \
sudo bats xCAT-test/native/getinstdisk_selection.bats
sudo prove xCAT-test/native/getinstdisk_installer.t \
xCAT-test/native/enablekdump_per_node.t \
xCAT-test/native/sudoer_password_source.t
```
The disk case also renders and runs the RHEL 10 installer fragment. It needs
the system Perl with xCAT's dependencies, XML::Simple and DBD::SQLite.
The sandbox does not mount perlbrew or local::lib directories.
The BATS cases source the unchanged disk selector. Partition and udev fixtures
are the inputs; the selected disk file is the output. Each case runs twice
with awk discovery and twice without it. Discovery searches a private fixture,
not the host's `/usr` tree.
The separate Perl case renders and runs the RHEL 10 installer fragment. It
checks that the partition plan uses the selected disk. It needs the system
Perl with xCAT's dependencies, XML::Simple and DBD::SQLite. The sandbox does
not mount perlbrew or local::lib directories.
When the checkout is inside another user's private home, copy it as root to a
temporary directory under `/tmp` first. Root inside the test's user namespace