dockerTools: test that tar keeps nix binary symlinks intact
This commit is contained in:
parent
c04e95573a
commit
caf47063b4
@ -42,6 +42,20 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||||||
"docker rmi ${examples.nix.imageName}",
|
"docker rmi ${examples.nix.imageName}",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
with subtest("The nix binary symlinks are intact"):
|
||||||
|
docker.succeed(
|
||||||
|
"docker load --input='${examples.nix}'",
|
||||||
|
"docker run --rm ${examples.nix.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'",
|
||||||
|
"docker rmi ${examples.nix.imageName}",
|
||||||
|
)
|
||||||
|
|
||||||
|
with subtest("The nix binary symlinks are intact when the image is layered"):
|
||||||
|
docker.succeed(
|
||||||
|
"docker load --input='${examples.nixLayered}'",
|
||||||
|
"docker run --rm ${examples.nixLayered.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'",
|
||||||
|
"docker rmi ${examples.nixLayered.imageName}",
|
||||||
|
)
|
||||||
|
|
||||||
with subtest("The pullImage tool works"):
|
with subtest("The pullImage tool works"):
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker load --input='${examples.nixFromDockerHub}'",
|
"docker load --input='${examples.nixFromDockerHub}'",
|
||||||
|
@ -121,6 +121,7 @@ rec {
|
|||||||
# the image env variable NIX_PAGER.
|
# the image env variable NIX_PAGER.
|
||||||
pkgs.coreutils
|
pkgs.coreutils
|
||||||
pkgs.nix
|
pkgs.nix
|
||||||
|
pkgs.bash
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
Env = [
|
Env = [
|
||||||
@ -313,4 +314,25 @@ rec {
|
|||||||
)
|
)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixLayered = pkgs.dockerTools.buildLayeredImageWithNixDb {
|
||||||
|
name = "nix-layered";
|
||||||
|
tag = "latest";
|
||||||
|
contents = [
|
||||||
|
# nix-store uses cat program to display results as specified by
|
||||||
|
# the image env variable NIX_PAGER.
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.nix
|
||||||
|
pkgs.bash
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
Env = [
|
||||||
|
"NIX_PAGER=cat"
|
||||||
|
# A user is required by nix
|
||||||
|
# https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
|
||||||
|
"USER=nobody"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user