summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Hensing <roberth@users.noreply.github.com>2024-02-28 05:10:36 +0100
committerGitHub <noreply@github.com>2024-02-28 05:10:36 +0100
commit747e63cbf7f8c0da27e01ee61012e55225157e91 (patch)
tree27723a1f31664e8ae60f7ad974ec9efe80e7629c
parentMerge pull request #288893 from NixOS/backport-271976-to-release-23.11 (diff)
parentdockerTools: Add chown test (diff)
downloadnixpkgs-747e63cbf7f8c0da27e01ee61012e55225157e91.tar.gz
Merge pull request #289922 from NixOS/backport-281520-to-release-23.11
[Backport release-23.11] dockerTools: Fix chown in fakeRootCommands
-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 0987e1920b00..5b2759c84ff0 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; {
@@ -565,5 +577,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)"
+ )
'';
})