summary refs log tree commit diff
path: root/pkgs/test
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2018-10-02 21:49:54 +0200
committerRobert Hensing <robert@roberthensing.nl>2018-11-13 10:43:05 +0100
commit933c95c0f40973bd72f1e46767d001a8f1860f40 (patch)
tree092aa19dcf85777a4b42539bed52bcb0c4c8d2d6 /pkgs/test
parentcdca66d7e8af90daa03fab564fa358df16b7421c (diff)
downloadnixpkgs-933c95c0f40973bd72f1e46767d001a8f1860f40.tar
nixpkgs-933c95c0f40973bd72f1e46767d001a8f1860f40.tar.gz
nixpkgs-933c95c0f40973bd72f1e46767d001a8f1860f40.tar.bz2
nixpkgs-933c95c0f40973bd72f1e46767d001a8f1860f40.tar.lz
nixpkgs-933c95c0f40973bd72f1e46767d001a8f1860f40.tar.xz
nixpkgs-933c95c0f40973bd72f1e46767d001a8f1860f40.tar.zst
nixpkgs-933c95c0f40973bd72f1e46767d001a8f1860f40.zip
Add tests for pkgs.nixos and pkgs.nixosTest
Diffstat (limited to 'pkgs/test')
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/test/nixos-functions/default.nix32
2 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 24948ce9aa4..9315595f8ec 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -30,5 +30,7 @@ with pkgs;
 
   cross = callPackage ./cross {};
 
+  nixos-functions = callPackage ./nixos-functions {};
+
   patch-shebangs = callPackage ./patch-shebangs {};
 }
diff --git a/pkgs/test/nixos-functions/default.nix b/pkgs/test/nixos-functions/default.nix
new file mode 100644
index 00000000000..3f345152539
--- /dev/null
+++ b/pkgs/test/nixos-functions/default.nix
@@ -0,0 +1,32 @@
+{ pkgs, lib, stdenv, ... }:
+
+lib.optionalAttrs stdenv.hostPlatform.isLinux (
+  pkgs.recurseIntoAttrs {
+
+    nixos-test = (pkgs.nixos {
+      boot.loader.grub.enable = false;
+      fileSystems."/".device = "/dev/null";
+    }).toplevel;
+
+    nixosTest-test = let
+      # extend pkgs with an extra overlay to make sure pkgs is passed along properly to machines.
+      altPkgs = pkgs.extend (self: super: {
+        # To test pkgs in machine
+        hello_s9e8ghsi = self.hello;
+        # To test lib in test
+        lib = super.lib // { testSubject_dohra8w = "nixosTest"; };
+        # To test pkgs in test
+        dash-test_ny3dseg = "-test";
+       });
+    in altPkgs.nixosTest ({ lib, pkgs, ... }: {
+      name = "${lib.testSubject_dohra8w}${pkgs.dash-test_ny3dseg}"; # These would fail if it's the wrong pkgs or lib
+      machine = { pkgs, ... }: {
+        environment.systemPackages = [ pkgs.hello_s9e8ghsi ];
+      };
+      testScript = ''
+        $machine->succeed("hello");
+      '';
+    });
+
+  }
+)