summary refs log tree commit diff
path: root/nixos/tests/docker-tools.nix
diff options
context:
space:
mode:
authorSarah Brofeldt <sarah@qtr.dk>2021-01-04 21:33:32 +0100
committerSarah Brofeldt <sarah@qtr.dk>2021-01-04 21:44:47 +0100
commitffe5ff6009017ebbc384e38b5a26e37556d60ecc (patch)
tree8bd7db4017b4811f2160bfd8820e94410f81dba1 /nixos/tests/docker-tools.nix
parent08b0d02944eb94359726ac61af3c3ab84b53ee7d (diff)
downloadnixpkgs-ffe5ff6009017ebbc384e38b5a26e37556d60ecc.tar
nixpkgs-ffe5ff6009017ebbc384e38b5a26e37556d60ecc.tar.gz
nixpkgs-ffe5ff6009017ebbc384e38b5a26e37556d60ecc.tar.bz2
nixpkgs-ffe5ff6009017ebbc384e38b5a26e37556d60ecc.tar.lz
nixpkgs-ffe5ff6009017ebbc384e38b5a26e37556d60ecc.tar.xz
nixpkgs-ffe5ff6009017ebbc384e38b5a26e37556d60ecc.tar.zst
nixpkgs-ffe5ff6009017ebbc384e38b5a26e37556d60ecc.zip
dockerTools: Test buildLayeredImage with symlinks
This exercises layer creation in face of store path symlinks, ensuring
they are not dereferenced, which can lead to broken layer tarballs
Diffstat (limited to 'nixos/tests/docker-tools.nix')
-rw-r--r--nixos/tests/docker-tools.nix7
1 files changed, 7 insertions, 0 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index 8402ba68b72..369ef94f9fa 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -247,5 +247,12 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             ).strip()
             == "${if pkgs.system == "aarch64-linux" then "amd64" else "arm64"}"
         )
+
+    with subtest("buildLayeredImage doesn't dereference /nix/store symlink layers"):
+        docker.succeed(
+            "docker load --input='${examples.layeredStoreSymlink}'",
+            "docker run --rm ${examples.layeredStoreSymlink.imageName} bash -c 'test -L ${examples.layeredStoreSymlink.passthru.symlink}'",
+            "docker rmi ${examples.layeredStoreSymlink.imageName}",
+        )
   '';
 })