diff --git a/nixos/doc/manual/development/nixos-tests.xml b/nixos/doc/manual/development/nixos-tests.xml index 834a321ec4c6..702fc03f6686 100644 --- a/nixos/doc/manual/development/nixos-tests.xml +++ b/nixos/doc/manual/development/nixos-tests.xml @@ -15,5 +15,5 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/test - + diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.section.md b/nixos/doc/manual/development/running-nixos-tests-interactively.section.md new file mode 100644 index 000000000000..3ba4e16e77f4 --- /dev/null +++ b/nixos/doc/manual/development/running-nixos-tests-interactively.section.md @@ -0,0 +1,44 @@ +# Running Tests interactively {#sec-running-nixos-tests-interactively} + +The test itself can be run interactively. This is particularly useful +when developing or debugging a test: + +```ShellSession +$ nix-build nixos/tests/login.nix -A driverInteractive +$ ./result/bin/nixos-test-driver +starting VDE switch for network 1 +> +``` + +You can then take any Python statement, e.g. + +```py +> start_all() +> test_script() +> machine.succeed("touch /tmp/foo") +> print(machine.succeed("pwd")) # Show stdout of command +``` + +The function `test_script` executes the entire test script and drops you +back into the test driver command line upon its completion. This allows +you to inspect the state of the VMs after the test (e.g. to debug the +test script). + +To just start and experiment with the VMs, run: + +```ShellSession +$ nix-build nixos/tests/login.nix -A driverInteractive +$ ./result/bin/nixos-run-vms +``` + +The script `nixos-run-vms` starts the virtual machines defined by test. + +You can re-use the VM states coming from a previous run by setting the +`--keep-vm-state` flag. + +```ShellSession +$ ./result/bin/nixos-run-vms --keep-vm-state +``` + +The machine state is stored in the `$TMPDIR/vm-state-machinename` +directory. diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml deleted file mode 100644 index a6044d5f89e8..000000000000 --- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml +++ /dev/null @@ -1,49 +0,0 @@ -
- Running Tests interactively - - - The test itself can be run interactively. This is particularly useful when - developing or debugging a test: - -$ nix-build nixos/tests/login.nix -A driverInteractive -$ ./result/bin/nixos-test-driver -starting VDE switch for network 1 -> - - You can then take any Python statement, e.g. - -> start_all() -> test_script() -> machine.succeed("touch /tmp/foo") -> print(machine.succeed("pwd")) # Show stdout of command - - The function test_script executes the entire test script - and drops you back into the test driver command line upon its completion. - This allows you to inspect the state of the VMs after the test (e.g. to debug - the test script). - - - - To just start and experiment with the VMs, run: - -$ nix-build nixos/tests/login.nix -A driverInteractive -$ ./result/bin/nixos-run-vms - - The script nixos-run-vms starts the virtual machines - defined by test. - - - - You can re-use the VM states coming from a previous run - by setting the --keep-vm-state flag. - -$ ./result/bin/nixos-run-vms --keep-vm-state - - The machine state is stored in the - $TMPDIR/vm-state-machinename directory. - -
diff --git a/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml b/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml new file mode 100644 index 000000000000..a2030e9c0739 --- /dev/null +++ b/nixos/doc/manual/from_md/development/running-nixos-tests-interactively.section.xml @@ -0,0 +1,50 @@ +
+ Running Tests interactively + + The test itself can be run interactively. This is particularly + useful when developing or debugging a test: + + +$ nix-build nixos/tests/login.nix -A driverInteractive +$ ./result/bin/nixos-test-driver +starting VDE switch for network 1 +> + + + You can then take any Python statement, e.g. + + +> start_all() +> test_script() +> machine.succeed("touch /tmp/foo") +> print(machine.succeed("pwd")) # Show stdout of command + + + The function test_script executes the entire test + script and drops you back into the test driver command line upon its + completion. This allows you to inspect the state of the VMs after + the test (e.g. to debug the test script). + + + To just start and experiment with the VMs, run: + + +$ nix-build nixos/tests/login.nix -A driverInteractive +$ ./result/bin/nixos-run-vms + + + The script nixos-run-vms starts the virtual + machines defined by test. + + + You can re-use the VM states coming from a previous run by setting + the --keep-vm-state flag. + + +$ ./result/bin/nixos-run-vms --keep-vm-state + + + The machine state is stored in the + $TMPDIR/vm-state-machinename directory. + +