summary refs log tree commit diff
path: root/pkgs/test/nixos-functions/default.nix
blob: 6f83858d01a20ac6c78d784d77bba3d9805f3fa9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*

This file is a test that makes sure that the `pkgs.nixos` and
`pkgs.testers.nixosTest` functions work. It's far from a perfect test suite,
but better than not checking them at all on hydra.

To run this test:

    nixpkgs$ nix-build -A tests.nixos-functions

 */
{ pkgs, lib, stdenv, ... }:

let
  dummyVersioning = {
    revision = "test";
    versionSuffix = "test";
    label = "test";
  };
in lib.optionalAttrs stdenv.hostPlatform.isLinux (
  pkgs.recurseIntoAttrs {

    nixos-test = (pkgs.nixos {
      system.nixos = dummyVersioning;
      boot.loader.grub.enable = false;
      fileSystems."/".device = "/dev/null";
    }).toplevel;

    nixosTest-test = pkgs.testers.nixosTest ({ lib, pkgs, figlet, ... }: {
      name = "nixosTest-test";
      nodes.machine = { pkgs, ... }: {
        system.nixos = dummyVersioning;
        environment.systemPackages = [ pkgs.hello figlet ];
      };
      testScript = ''
        machine.succeed("hello | figlet >/dev/console")
      '';
    });

  }
)