summary refs log tree commit diff
path: root/nixos/tests/docker-tools.nix
diff options
context:
space:
mode:
authorUtku Demir <me@utdemir.com>2020-05-08 21:49:16 +1200
committerUtku Demir <me@utdemir.com>2020-05-08 21:49:16 +1200
commitf5a90a7aab126857e9cac4f048930ddabc720c55 (patch)
treecfa66b16a188fd30437a6c7df865ae2e14ea1e78 /nixos/tests/docker-tools.nix
parentd78ba41a5604c8e06d40756a2436e52169354d36 (diff)
downloadnixpkgs-f5a90a7aab126857e9cac4f048930ddabc720c55.tar
nixpkgs-f5a90a7aab126857e9cac4f048930ddabc720c55.tar.gz
nixpkgs-f5a90a7aab126857e9cac4f048930ddabc720c55.tar.bz2
nixpkgs-f5a90a7aab126857e9cac4f048930ddabc720c55.tar.lz
nixpkgs-f5a90a7aab126857e9cac4f048930ddabc720c55.tar.xz
nixpkgs-f5a90a7aab126857e9cac4f048930ddabc720c55.tar.zst
nixpkgs-f5a90a7aab126857e9cac4f048930ddabc720c55.zip
dockerTools.buildImage: Preserve environment variables from the parent image
Diffstat (limited to 'nixos/tests/docker-tools.nix')
-rw-r--r--nixos/tests/docker-tools.nix10
1 files changed, 10 insertions, 0 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index 51b472fcf9c..2375d15b381 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -124,6 +124,16 @@ import ./make-test-python.nix ({ pkgs, ... }: {
                 f"docker run --rm  ${examples.layersOrder.imageName} cat /tmp/layer{index}"
             )
 
+    with subtest("Ensure environment variables are correctly inherited"):
+        docker.succeed(
+            "docker load --input='${examples.environmentVariables}'"
+        )
+        out = docker.succeed("docker run --rm ${examples.environmentVariables.imageName} env")
+        env = out.splitlines()
+        assert "FROM_PARENT=true" in env, "envvars from the parent should be preserved"
+        assert "FROM_CHILD=true" in env, "envvars from the child should be preserved"
+        assert "LAST_LAYER=child" in env, "envvars from the child should take priority"
+
     with subtest("Ensure image with only 2 layers can be loaded"):
         docker.succeed(
             "docker load --input='${examples.two-layered-image}'"