aboutsummaryrefslogtreecommitdiff
path: root/tests
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 /tests
parent0e5d0c15430cf82861a1ae213cbccff065f71107 (diff)
Add a test for the SSH substituter
Diffstat (limited to 'tests')
-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 bfd708404..1418c6589 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}");
'';
})