2014-08-24 10:18:18 -07:00
<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"
2015-04-20 23:27:40 -07:00
xml:id="sec-running-nixos-tests-interactively">
2018-05-01 16:57:09 -07:00
<title > Running Tests</title>
2014-08-24 10:18:18 -07:00
2018-05-01 16:57:09 -07:00
<para >
2019-09-18 13:13:35 -07:00
You can run tests using <command > nix-build</command> . For example, to run the test <filename
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix">login.nix</filename> , you just do:
2014-08-24 10:18:18 -07:00
<screen >
2019-06-17 04:25:50 -07:00
<prompt > $ </prompt> nix-build '< nixpkgs/nixos/tests/login.nix>'
2014-08-24 10:18:18 -07:00
</screen>
2018-05-01 16:57:09 -07:00
or, if you don’ t want to rely on <envar > NIX_PATH</envar> :
2014-08-24 10:18:18 -07:00
<screen >
2019-06-17 04:25:50 -07:00
<prompt > $ </prompt> cd /my/nixpkgs/nixos/tests
<prompt > $ </prompt> nix-build login.nix
2014-08-24 10:18:18 -07:00
…
running the VM test script
machine: QEMU running (pid 8841)
…
6 out of 6 tests succeeded
</screen>
2019-09-18 13:13:35 -07:00
After building/downloading all required dependencies, this will perform a build that starts a QEMU/KVM virtual machine containing a NixOS system. The virtual machine mounts the Nix store of the host; this makes VM creation very fast, as no disk image needs to be created. Afterwards, you can view a pretty-printed log of the test:
2014-08-24 10:18:18 -07:00
<screen >
2019-06-17 04:25:50 -07:00
<prompt > $ </prompt> firefox result/log.html
2014-08-24 10:18:18 -07:00
</screen>
2018-05-01 16:57:09 -07:00
</para>
2014-11-27 10:01:34 -08:00
</section>