diff --git a/docs/HACKING.md b/docs/HACKING.md index 1a3102cc..d6279a06 100644 --- a/docs/HACKING.md +++ b/docs/HACKING.md @@ -225,64 +225,31 @@ init has the following hook points to inject scripts: ## Testsuite -For the testsuite to work, you will have to install at least the following software packages: - -Fedora: +### Rootless in a container with podman -``` -dash \ -asciidoc \ -mdadm \ -lvm2 \ -dmraid \ -cryptsetup \ -nfs-utils \ -nbd \ -dhcp-server \ -scsi-target-utils \ -iscsi-initiator-utils \ -strace \ -syslinux \ -python-imgcreate \ -genisoimage \ -btrfs-progs \ -kmod-devel \ -gcc \ -bzip2 \ -xz \ -tar \ -wget \ -rpm-build \ -${NULL} +```console +$ cd +$ podman pull [CONTAINER] +$ podman run --rm -it \ + --cap-add=SYS_PTRACE --user 0 \ + -v /dev:/dev -v ./:/dracut:z \ + [CONTAINER] \ + bash -l +# cd /dracut +# ./configure +# make -j $(getconf _NPROCESSORS_ONLN) +# cd test +# make V=1 SKIP="16 60 61" clean check ``` -Arch Linux: +with `[CONTAINER]` being one of the +[github `dracutdevs` containers](https://github.com/orgs/dracutdevs/packages), +e.g. `ghcr.io/dracutdevs/fedora:latest`. -``` -linux \ -dash \ -strace \ -gcc \ -dhclient \ -asciidoc \ -make \ -dracut \ -qemu \ -jack \ -btrfs-progs \ -mdadm \ -dmraid \ -nfs-utils \ -nfsidmap \ -lvm2 \ -nbd \ -dhcp \ -networkmanager \ -multipath-tools \ -${NULL} -``` +### On bare metal -### How to run the testsuite on bare metal: +For the testsuite to pass, you will have to install at least the software packages +mentioned in the `test/container` Dockerfiles. ``` $ sudo make clean check @@ -304,48 +271,8 @@ debug a specific test case: $ cd TEST-01-BASIC $ sudo make clean setup run ``` -... change some kernel parameters ... +... change some kernel parameters in `test.sh` ... ``` $ sudo make run ``` -to run the test without doing the setup - -### Rootless in a container with podman - -```console -podman run -it \ - --cap-add=SYS_PTRACE --user 0 \ - -v /dev:/dev -v ./:/dracut \ - [CONTAINER] \ - bash -``` - -#### Fedora - -```console -$ podman run -it \ - --cap-add=SYS_PTRACE --user 0 \ - -v /dev:/dev -v ./:/dracut \ - quay.io/haraldh/dracut-fedora:34 bash -# cd /dracut -# make V=1 check -# cd test/TEST-01* -# make clean setup run -# cd ../.. -# make clean -``` - -#### Arch Linux -```console -$ podman run -it \ - --cap-add=SYS_PTRACE --user 0 \ - -v /dev:/dev -v ./:/dracut \ - archlinux bash -# pacman -Sy linux dash strace gcc dhclient asciidoc make dracut \ - qemu jack btrfs-progs mdadm dmraid nfs-utils nfsidmap lvm2 nbd \ - dhcp networkmanager multipath-tools vi tcpdump \ - git shfmt shellcheck astyle which -# cd /dracut -# export DRACUT_NO_XATTR=1 KVERSION=$(cd /lib/modules; ls -1 | tail -1) -# make V=1 TESTS="01 02 03 04 10 11 12 13 14 15 17 20 21 40 41 98" check -``` +to run the test without doing the setup.