about summary refs log tree commit diff
path: root/pkgs/test
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/test')
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/test/nixos-functions/default.nix41
2 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index d95b2cc55225..809b2d0b553c 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -30,6 +30,8 @@ with pkgs;
 
   cross = callPackage ./cross {};
 
+  nixos-functions = callPackage ./nixos-functions {};
+
   patch-shebangs = callPackage ./patch-shebangs {};
 
   writers = callPackage ../build-support/writers/test.nix {};
diff --git a/pkgs/test/nixos-functions/default.nix b/pkgs/test/nixos-functions/default.nix
new file mode 100644
index 000000000000..6dee0a27a79a
--- /dev/null
+++ b/pkgs/test/nixos-functions/default.nix
@@ -0,0 +1,41 @@
+/*
+
+This file is a test that makes sure that the `pkgs.nixos` and
+`pkgs.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.nixosTest ({ lib, pkgs, ... }: {
+      name = "nixosTest-test";
+      machine = { pkgs, ... }: {
+        system.nixos = dummyVersioning;
+        environment.systemPackages = [ pkgs.hello ];
+      };
+      testScript = ''
+        $machine->succeed("hello");
+      '';
+    });
+
+  }
+)