summary refs log tree commit diff
path: root/nixos/tests
diff options
context:
space:
mode:
authorViktor Kronvall <viktor.kronvall@gmail.com>2021-03-30 18:53:29 +0900
committerViktor Kronvall <viktor.kronvall@gmail.com>2021-04-08 00:22:59 +0900
commitbcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964 (patch)
tree0c8e632d5e59e0628fbd7312e9997529692d6c1f /nixos/tests
parent5caed960d36a3f7b442b96e9664d243fd9ab1317 (diff)
downloadnixpkgs-bcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964.tar
nixpkgs-bcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964.tar.gz
nixpkgs-bcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964.tar.bz2
nixpkgs-bcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964.tar.lz
nixpkgs-bcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964.tar.xz
nixpkgs-bcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964.tar.zst
nixpkgs-bcc3f8eab5cac2c6ddaeab9d1fdc7afc2c348964.zip
dockerTools: test mergeImages
Diffstat (limited to 'nixos/tests')
-rw-r--r--nixos/tests/docker-tools.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index 80d527b453f..35b5504ea0f 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -321,5 +321,40 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         docker.succeed(
             "docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
         )
+
+    with subtest("Ensure docker load on merged images loads all of the constituent images"):
+        docker.succeed(
+            "docker load --input='${examples.mergedBashAndRedis}'"
+        )
+        docker.succeed(
+            "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bash.imageName}-${examples.bash.imageTag}'"
+        )
+        docker.succeed(
+            "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'"
+        )
+        docker.succeed("docker run --rm ${examples.bash.imageName} bash --version")
+        docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version")
+        docker.succeed("docker rmi ${examples.bash.imageName}")
+        docker.succeed("docker rmi ${examples.redis.imageName}")
+
+    with subtest(
+        "Ensure docker load on merged images loads all of the constituent images (missing tags)"
+    ):
+        docker.succeed(
+            "docker load --input='${examples.mergedBashNoTagAndRedis}'"
+        )
+        docker.succeed(
+            "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.bashNoTag.imageName}-${examples.bashNoTag.imageTag}'"
+        )
+        docker.succeed(
+            "docker images --format '{{.Repository}}-{{.Tag}}' | grep -F '${examples.redis.imageName}-${examples.redis.imageTag}'"
+        )
+        # we need to explicitly specify the generated tag here
+        docker.succeed(
+            "docker run --rm ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag} bash --version"
+        )
+        docker.succeed("docker run --rm ${examples.redis.imageName} redis-cli --version")
+        docker.succeed("docker rmi ${examples.bashNoTag.imageName}:${examples.bashNoTag.imageTag}")
+        docker.succeed("docker rmi ${examples.redis.imageName}")
   '';
 })