`nobody` is a special user, whose credentials should be extracted with
`get_user_creds`. `getpwnam` called in `test-udev.pl` is a bit different,
which causes the test to fail with the following error:
```
device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda' expecting node/link 'node'
expected permissions are: nobody::0600
created permissions are : 65534:0:0600
permissions: error
add: ok
remove: ok
```
The ideal fix would probably be to implement `get_user_creds` in Perl, but in this
PR the issue is simply got around by using `daemon` instead of `nobody`.
Closes https://github.com/systemd/systemd/issues/8196.
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:
$ make all # Avoid the "sudo make" below building anything as root
$ cd test
$ sudo make clean check
...
make[1]: Entering directory `/mnt/data/harald/git/systemd/test/TEST-01-BASIC'
Making all in .
Making all in po
TEST: Basic systemd setup [OK]
make[1]: Leaving directory `/mnt/data/harald/git/systemd/test/TEST-01-BASIC'
...
If one of the tests fails, then $subdir/test.log contains the log file of
the test.
To debug a special testcase of the testsuite do:
$ make all
$ cd test/TEST-01-BASIC
$ sudo make clean setup run
QEMU
====
If you want to log in the testsuite virtual machine, you can specify
additional kernel command line parameter with $KERNEL_APPEND.
$ sudo make KERNEL_APPEND="systemd.unit=multi-user.target" clean setup run
you can even skip the "clean" and "setup" if you want to run the machine again.
$ sudo make KERNEL_APPEND="systemd.unit=multi-user.target" run
You can specify a different kernel and initramfs with $KERNEL_BIN and $INITRD.
(Fedora's or Debian's default kernel path and initramfs are used by default)
$ sudo make KERNEL_BIN=/boot/vmlinuz-foo INITRD=/boot/initramfs-bar clean check
A script will try to find your QEMU binary. If you want to specify a different
one you can use $QEMU_BIN.
$ sudo make QEMU_BIN=/path/to/qemu/qemu-kvm clean check