mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
nixos: nixos/doc/manual/development/running-nixos-tests-interactively.xml to CommonMark
This commit is contained in:
parent
8fafcfa3ea
commit
47fe2c7e93
4 changed files with 95 additions and 50 deletions
|
@ -15,5 +15,5 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/test
|
||||||
</para>
|
</para>
|
||||||
<xi:include href="../from_md/development/writing-nixos-tests.section.xml" />
|
<xi:include href="../from_md/development/writing-nixos-tests.section.xml" />
|
||||||
<xi:include href="../from_md/development/running-nixos-tests.section.xml" />
|
<xi:include href="../from_md/development/running-nixos-tests.section.xml" />
|
||||||
<xi:include href="running-nixos-tests-interactively.xml" />
|
<xi:include href="../from_md/development/running-nixos-tests-interactively.section.xml" />
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
|
@ -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.
|
|
@ -1,49 +0,0 @@
|
||||||
<section xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
version="5.0"
|
|
||||||
xml:id="sec-running-nixos-tests-interactively">
|
|
||||||
<title>Running Tests interactively</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The test itself can be run interactively. This is particularly useful when
|
|
||||||
developing or debugging a test:
|
|
||||||
<screen>
|
|
||||||
<prompt>$ </prompt>nix-build nixos/tests/login.nix -A driverInteractive
|
|
||||||
<prompt>$ </prompt>./result/bin/nixos-test-driver
|
|
||||||
starting VDE switch for network 1
|
|
||||||
<prompt>></prompt>
|
|
||||||
</screen>
|
|
||||||
You can then take any Python statement, e.g.
|
|
||||||
<screen>
|
|
||||||
<prompt>></prompt> start_all()
|
|
||||||
<prompt>></prompt> test_script()
|
|
||||||
<prompt>></prompt> machine.succeed("touch /tmp/foo")
|
|
||||||
<prompt>></prompt> print(machine.succeed("pwd")) # Show stdout of command
|
|
||||||
</screen>
|
|
||||||
The function <command>test_script</command> 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).
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To just start and experiment with the VMs, run:
|
|
||||||
<screen>
|
|
||||||
<prompt>$ </prompt>nix-build nixos/tests/login.nix -A driverInteractive
|
|
||||||
<prompt>$ </prompt>./result/bin/nixos-run-vms
|
|
||||||
</screen>
|
|
||||||
The script <command>nixos-run-vms</command> starts the virtual machines
|
|
||||||
defined by test.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You can re-use the VM states coming from a previous run
|
|
||||||
by setting the <command>--keep-vm-state</command> flag.
|
|
||||||
<screen>
|
|
||||||
<prompt>$ </prompt>./result/bin/nixos-run-vms --keep-vm-state
|
|
||||||
</screen>
|
|
||||||
The machine state is stored in the
|
|
||||||
<filename>$TMPDIR/vm-state-</filename><varname>machinename</varname> directory.
|
|
||||||
</para>
|
|
||||||
</section>
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-running-nixos-tests-interactively">
|
||||||
|
<title>Running Tests interactively</title>
|
||||||
|
<para>
|
||||||
|
The test itself can be run interactively. This is particularly
|
||||||
|
useful when developing or debugging a test:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
$ nix-build nixos/tests/login.nix -A driverInteractive
|
||||||
|
$ ./result/bin/nixos-test-driver
|
||||||
|
starting VDE switch for network 1
|
||||||
|
>
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
You can then take any Python statement, e.g.
|
||||||
|
</para>
|
||||||
|
<programlisting language="python">
|
||||||
|
> start_all()
|
||||||
|
> test_script()
|
||||||
|
> machine.succeed("touch /tmp/foo")
|
||||||
|
> print(machine.succeed("pwd")) # Show stdout of command
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
The function <literal>test_script</literal> 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).
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
To just start and experiment with the VMs, run:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
$ nix-build nixos/tests/login.nix -A driverInteractive
|
||||||
|
$ ./result/bin/nixos-run-vms
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
The script <literal>nixos-run-vms</literal> starts the virtual
|
||||||
|
machines defined by test.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
You can re-use the VM states coming from a previous run by setting
|
||||||
|
the <literal>--keep-vm-state</literal> flag.
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
$ ./result/bin/nixos-run-vms --keep-vm-state
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
The machine state is stored in the
|
||||||
|
<literal>$TMPDIR/vm-state-machinename</literal> directory.
|
||||||
|
</para>
|
||||||
|
</section>
|
Loading…
Add table
Add a link
Reference in a new issue