summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-07-10 01:50:29 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-07-10 01:53:56 +0200
commit66dbc0fdeebf509c5d919e9c12b2645136d6deeb (patch)
tree988764827538dd7cff4e72afd4eeeca19a7f999e
parent0e5d0c15430cf82861a1ae213cbccff065f71107 (diff)
downloadguix-66dbc0fdeebf509c5d919e9c12b2645136d6deeb.tar.gz
Add a test for the SSH substituter
-rw-r--r--tests/nix-copy-closure.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/nix-copy-closure.nix b/tests/nix-copy-closure.nix
index bfd708404d..1418c65897 100644
--- a/tests/nix-copy-closure.nix
+++ b/tests/nix-copy-closure.nix
@@ -4,7 +4,7 @@
 
 with import <nixpkgs/nixos/lib/testing.nix> { inherit system; };
 
-makeTest (let pkgA = pkgs.aterm; pkgB = pkgs.wget; in {
+makeTest (let pkgA = pkgs.aterm; pkgB = pkgs.wget; pkgC = pkgs.hello; in {
 
   nodes =
     { client =
@@ -12,13 +12,14 @@ makeTest (let pkgA = pkgs.aterm; pkgB = pkgs.wget; in {
         { virtualisation.writableStore = true;
           virtualisation.pathsInNixDB = [ pkgA ];
           nix.package = nix;
+          nix.binaryCaches = [ ];
         };
 
       server =
         { config, pkgs, ... }:
         { services.openssh.enable = true;
           virtualisation.writableStore = true;
-          virtualisation.pathsInNixDB = [ pkgB ];
+          virtualisation.pathsInNixDB = [ pkgB pkgC ];
           nix.package = nix;
         };
     };
@@ -49,6 +50,14 @@ makeTest (let pkgA = pkgs.aterm; pkgB = pkgs.wget; in {
       $client->fail("nix-store --check-validity ${pkgB}");
       $client->succeed("nix-copy-closure --from server --gzip ${pkgB} >&2");
       $client->succeed("nix-store --check-validity ${pkgB}");
+
+      # Copy the closure of package C via the SSH substituter.
+      $client->fail("nix-store -r ${pkgC}");
+      $client->succeed(
+        "nix-store --option use-ssh-substituter true"
+        . " --option ssh-substituter-hosts root\@server"
+        . " -r ${pkgC} >&2");
+      $client->succeed("nix-store --check-validity ${pkgC}");
     '';
 
 })