| The extended testsuite only works with UID=0. It contains of several |
| subdirectories named "test/TEST-??-*", which are run one by one. |
| |
| To run the extended testsuite do the following: |
| |
| $ ninja -C build # Avoid building anything as root later |
| $ sudo test/run-integration-tests.sh |
| ninja: Entering directory `/home/zbyszek/src/systemd/build' |
| ninja: no work to do. |
| --x-- Running TEST-01-BASIC --x-- |
| + make -C TEST-01-BASIC BUILD_DIR=/home/zbyszek/src/systemd/build clean setup run |
| make: Entering directory '/home/zbyszek/src/systemd/test/TEST-01-BASIC' |
| TEST CLEANUP: Basic systemd setup |
| TEST SETUP: Basic systemd setup |
| ... |
| TEST RUN: Basic systemd setup [OK] |
| make: Leaving directory '/home/zbyszek/src/systemd/test/TEST-01-BASIC' |
| --x-- Result of TEST-01-BASIC: 0 --x-- |
| --x-- Running TEST-02-CRYPTSETUP --x-- |
| + make -C TEST-02-CRYPTSETUP BUILD_DIR=/home/zbyszek/src/systemd/build clean setup run |
| |
| If one of the tests fails, then $subdir/test.log contains the log file of |
| the test. |
| |
| To run just one of the cases: |
| |
| $ sudo make -C test/TEST-01-BASIC clean setup run |
| |
| Specifying the build directory |
| ============================== |
| |
| If the build directory is not detected automatically, it can be specified |
| with BUILD_DIR=: |
| |
| $ sudo BUILD_DIR=some-other-build/ test/run-integration-tests |
| |
| or |
| |
| $ sudo make -C test/TEST-01-BASIC BUILD_DIR=../../some-other-build/ ... |
| |
| Note that in the second case, the path is relative to the test case directory. |
| An absolute path may also be used in both cases. |
| |
| Configuration variables |
| ======================= |
| |
| TEST_NO_QEMU=1 |
| Don't run tests under QEMU |
| |
| TEST_NO_NSPAWN=1 |
| Don't run tests under systemd-nspawn |
| |
| TEST_NO_KVM=1 |
| Disable QEMU KVM autodetection (may be necessary when you're trying to run the |
| *vanilla* QEMU and have both qemu and qemu-kvm installed) |
| |
| QEMU_MEM=512M |
| Configure amount of memory for QEMU VMs (defaults to 512M) |
| |
| QEMU_SMP=1 |
| Configure number of CPUs for QEMU VMs (defaults to 1) |
| |
| KERNEL_APPEND='...' |
| Append additional parameters to the kernel command line |
| |
| NSPAWN_ARGUMENTS='...' |
| Specify additional arguments for systemd-nspawn |
| |
| QEMU_TIMEOUT=infinity |
| Set a timeout for tests under QEMU (defaults to infinity) |
| |
| NSPAWN_TIMEOUT=infinity |
| Set a timeout for tests under systemd-nspawn (defaults to infinity) |
| |
| INTERACTIVE_DEBUG=1 |
| Configure the machine to be more *user-friendly* for interactive debuggung |
| (e.g. by setting a usable default terminal, suppressing the shutdown after |
| the test, etc.) |
| |
| The kernel and initramfs can be specified with $KERNEL_BIN and $INITRD. |
| (Fedora's or Debian's default kernel path and initramfs are used by default) |
| |
| A script will try to find your QEMU binary. If you want to specify a different |
| one with $QEMU_BIN. |
| |
| Debugging the qemu image |
| ======================== |
| |
| If you want to log in the testsuite virtual machine, you can specify additional |
| kernel command line parameter with $KERNEL_APPEND and then log in as root. |
| |
| $ sudo make -C test/TEST-01-BASIC KERNEL_APPEND="systemd.unit=multi-user.target" run |
| |
| Root password is empty. |