1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2024-10-18 00:16:11 -04:00

docs/testing: add --verbose flag for running single tests

Most of the time people run single tests for debugging reason,
so it's a sane default to have them see all the console output.

This commit still retains the section about running tests directly with
meson, because in some debugging cases it's just nice to have less
abstractions i.e. when using strace.
This commit is contained in:
Jörg Thalheim 2024-09-25 08:32:44 +02:00
parent 322d2c767f
commit eb3a368a33

View file

@ -162,7 +162,7 @@ ninja: no work to do.
Individual tests can be run with `meson`: Individual tests can be run with `meson`:
```shell-session ```shell-session
$ meson test ${testName} $ meson test --verbose ${testName}
ninja: Entering directory `/home/jcericson/src/nix/master/build' ninja: Entering directory `/home/jcericson/src/nix/master/build'
ninja: no work to do. ninja: no work to do.
1/1 nix-functional-tests:main / ${testName} OK 0.41s 1/1 nix-functional-tests:main / ${testName} OK 0.41s
@ -177,7 +177,11 @@ Timeout: 0
Full log written to /home/jcericson/src/nix/master/build/meson-logs/testlog.txt Full log written to /home/jcericson/src/nix/master/build/meson-logs/testlog.txt
``` ```
or without `meson`, showing the output: The `--verbose` flag will make Meson also show the console output of each test for easier debugging.
The test script will then be traced with `set -x` and the output displayed as it happens,
regardless of whether the test succeeds or fails.
Tests can be also run directly without `meson`:
```shell-session ```shell-session
$ TEST_NAME=${testName} NIX_REMOTE='' PS4='+(${BASH_SOURCE[0]-$0}:$LINENO) tests/functional/${testName}.sh $ TEST_NAME=${testName} NIX_REMOTE='' PS4='+(${BASH_SOURCE[0]-$0}:$LINENO) tests/functional/${testName}.sh
@ -188,8 +192,6 @@ output from bar
... ...
``` ```
The test script will then be traced with `set -x` and the output displayed as it happens, regardless of whether the test succeeds or fails.
### Debugging failing functional tests ### Debugging failing functional tests
When a functional test fails, it usually does so somewhere in the middle of the script. When a functional test fails, it usually does so somewhere in the middle of the script.