diff options
author | Samuel Dionne-Riel <samuel@dionne-riel.com> | 2018-05-22 20:25:04 -0400 |
---|---|---|
committer | Samuel Dionne-Riel <samuel@dionne-riel.com> | 2018-05-24 12:23:51 -0400 |
commit | 902b0593be857e4f19b9875638af6e854aa99a9b (patch) | |
tree | 8e2a7562ba31975799905e432a1920eb9594c955 | |
parent | 60737bd31985116b7cce47f221e8568e66ab73e0 (diff) | |
download | nixlib-902b0593be857e4f19b9875638af6e854aa99a9b.tar nixlib-902b0593be857e4f19b9875638af6e854aa99a9b.tar.gz nixlib-902b0593be857e4f19b9875638af6e854aa99a9b.tar.bz2 nixlib-902b0593be857e4f19b9875638af6e854aa99a9b.tar.lz nixlib-902b0593be857e4f19b9875638af6e854aa99a9b.tar.xz nixlib-902b0593be857e4f19b9875638af6e854aa99a9b.tar.zst nixlib-902b0593be857e4f19b9875638af6e854aa99a9b.zip |
tests/docker-tools: Adds regression test for #34779
-rw-r--r-- | nixos/tests/docker-tools.nix | 6 | ||||
-rw-r--r-- | pkgs/build-support/docker/examples.nix | 12 |
2 files changed, 18 insertions, 0 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index 4466081d01e9..e2bcfbbd1f96 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.nix @@ -45,5 +45,11 @@ import ./make-test.nix ({ pkgs, ... }: { $docker->succeed("docker load --input='${pkgs.dockerTools.examples.onTopOfPulledImage}'"); $docker->succeed("docker run --rm ontopofpulledimage hello"); $docker->succeed("docker rmi ontopofpulledimage"); + + # Regression test for issue #34779 + $docker->succeed("docker load --input='${pkgs.dockerTools.examples.runAsRootExtraCommands}'"); + $docker->succeed("docker run --rm runasrootextracommands cat extraCommands"); + $docker->succeed("docker run --rm runasrootextracommands cat runAsRoot"); + $docker->succeed("docker rmi '${pkgs.dockerTools.examples.runAsRootExtraCommands.imageName}'"); ''; }) diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index eb5b9fe36e41..ca7f78093794 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -124,4 +124,16 @@ rec { fromImage = nixFromDockerHub; contents = [ pkgs.hello ]; }; + + # 8. regression test for erroneous use of eval and string expansion. + # See issue #34779 and PR #40947 for details. + runAsRootExtraCommands = pkgs.dockerTools.buildImage { + name = "runAsRootExtraCommands"; + contents = [ pkgs.coreutils ]; + # The parens here are to create problematic bash to embed and eval. In case + # this is *embedded* into the script (with nix expansion) the initial quotes + # will close the string and the following parens are unexpected + runAsRoot = ''echo "(runAsRoot)" > runAsRoot''; + extraCommands = ''echo "(extraCommand)" > extraCommands''; + }; } |