nix-copy-closure: verify it works with drvs

Creates test coverage for #4210 and 7cf874c17d
This commit is contained in:
Graham Christensen 2020-11-02 15:50:14 -05:00
parent 550e11f077
commit 8cd2ff69c3
No known key found for this signature in database
GPG key ID: FE918C3A98C1030F

View file

@ -7,14 +7,14 @@ with import (nixpkgs + "/nixos/lib/testing-python.nix") {
extraConfigurations = [ { nixpkgs.overlays = [ overlay ]; } ]; extraConfigurations = [ { nixpkgs.overlays = [ overlay ]; } ];
}; };
makeTest (let pkgA = pkgs.cowsay; pkgB = pkgs.wget; pkgC = pkgs.hello; in { makeTest (let pkgA = pkgs.cowsay; pkgB = pkgs.wget; pkgC = pkgs.hello; pkgD = pkgs.tmux; in {
name = "nix-copy-closure"; name = "nix-copy-closure";
nodes = nodes =
{ client = { client =
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ virtualisation.writableStore = true; { virtualisation.writableStore = true;
virtualisation.pathsInNixDB = [ pkgA ]; virtualisation.pathsInNixDB = [ pkgA pkgD.drvPath ];
nix.binaryCaches = lib.mkForce [ ]; nix.binaryCaches = lib.mkForce [ ];
}; };
@ -60,6 +60,12 @@ makeTest (let pkgA = pkgs.cowsay; pkgB = pkgs.wget; pkgC = pkgs.hello; in {
# Copy the closure of package C via the SSH substituter. # Copy the closure of package C via the SSH substituter.
client.fail("nix-store -r ${pkgC}") client.fail("nix-store -r ${pkgC}")
# Copy the derivation of package D's derivation from the client to the server.
server.fail("nix-store --check-validity ${pkgD.drvPath}")
client.succeed("nix-copy-closure --to server --gzip ${pkgD.drvPath} >&2")
server.succeed("nix-store --check-validity ${pkgD.drvPath}")
# FIXME # FIXME
# client.succeed( # client.succeed(
# "nix-store --option use-ssh-substituter true" # "nix-store --option use-ssh-substituter true"