summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nixos/tests/docker-tools.nix18
1 files changed, 18 insertions, 0 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index fcdfa586fd55..a671cac610d1 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -46,6 +46,18 @@ let
echo 'runAsRoot has run.'
'';
};
+
+ chownTestImage =
+ pkgs.dockerTools.streamLayeredImage {
+ name = "chown-test";
+ tag = "latest";
+ enableFakechroot = true;
+ fakeRootCommands = ''
+ touch /testfile
+ chown 12345:12345 /testfile
+ '';
+ config.Cmd = [ "${pkgs.coreutils}/bin/stat" "-c" "%u:%g" "/testfile" ];
+ };
in {
name = "docker-tools";
meta = with pkgs.lib.maintainers; {
@@ -550,5 +562,11 @@ in {
"${examples.nix-shell-build-derivation} | docker load",
"docker run --rm -it nix-shell-build-derivation"
)
+
+ with subtest("streamLayeredImage: chown is persistent in fakeRootCommands"):
+ docker.succeed(
+ "${chownTestImage} | docker load",
+ "docker run --rm ${chownTestImage.imageName} | diff /dev/stdin <(echo 12345:12345)"
+ )
'';
})