Commit d2e4b94d authored by Jacek Galowicz's avatar Jacek Galowicz
Browse files

nixos documentation: Suggest pkgs.testers.runNixOSTest

`pkgs.testers.runNixOSTest` is the latest and best way to run NixOS Tests
outside of nixpkgs as it also improves evaluation performance by
injecting the host pkgs into all the guests.
It seems no one uses it because it is not mentioned at the right places.
parent ad3e815d
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -71,20 +71,20 @@ nix-build -A nixosTests.hostname

### Testing outside the NixOS project {#sec-call-nixos-test-outside-nixos}

Outside the `nixpkgs` repository, you can instantiate the test by first importing the NixOS library,
Outside the `nixpkgs` repository, you can use the `runNixOSTest` function from
`pkgs.testers`:

```nix
let nixos-lib = import (nixpkgs + "/nixos/lib") { };
let pkgs = import <nixpkgs> {};
in

nixos-lib.runTest {
pkgs.testers.runNixOSTest {
  imports = [ ./test.nix ];
  hostPkgs = pkgs;  # the Nixpkgs package set used outside the VMs
  defaults.services.foo.package = mypkg;
}
```

`runTest` returns a derivation that runs the test.
`runNixOSTest` returns a derivation that runs the test.

## Configuring the nodes {#sec-nixos-test-nodes}