mirror of
https://github.com/systemd/systemd.git
synced 2024-11-04 13:51:24 +03:00
501deda1ce
Introduce TEST_NESTED_KVM variable, which allows use of nested KVM for QEMU VMs (which is disabled by default by KVM autodetection).
100 lines
3.2 KiB
Plaintext
100 lines
3.2 KiB
Plaintext
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)
|
|
|
|
TEST_NESTED_KVM=1
|
|
Allow tests to run with nested KVM. By default, the testsuite disables
|
|
nested KVM if the host machine already runs under KVM. Setting this
|
|
variable disables such checks
|
|
|
|
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.
|