2021-07-03 03:11:41 +00:00
|
|
|
# Running Tests {#sec-running-nixos-tests}
|
|
|
|
|
|
|
|
You can run tests using `nix-build`. For example, to run the test
|
|
|
|
[`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix),
|
|
|
|
you just do:
|
|
|
|
|
|
|
|
```ShellSession
|
|
|
|
$ nix-build '<nixpkgs/nixos/tests/login.nix>'
|
|
|
|
```
|
|
|
|
|
|
|
|
or, if you don't want to rely on `NIX_PATH`:
|
|
|
|
|
|
|
|
```ShellSession
|
|
|
|
$ cd /my/nixpkgs/nixos/tests
|
|
|
|
$ nix-build login.nix
|
|
|
|
…
|
|
|
|
running the VM test script
|
|
|
|
machine: QEMU running (pid 8841)
|
|
|
|
…
|
|
|
|
6 out of 6 tests succeeded
|
|
|
|
```
|
|
|
|
|
|
|
|
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,
|
2022-02-21 08:47:16 +00:00
|
|
|
you can view a log of the test:
|
2021-07-03 03:11:41 +00:00
|
|
|
|
|
|
|
```ShellSession
|
2022-02-21 08:47:16 +00:00
|
|
|
$ nix-store --read-log result
|
2021-07-03 03:11:41 +00:00
|
|
|
```
|