From d9eead0eaccac1acd4aa82d71a55cdb5f361f98c Mon Sep 17 00:00:00 2001 From: Emily Date: Fri, 5 Sep 2025 22:06:07 +0100 Subject: [PATCH] tests: add `fetchTarball` test for symlink temporary directories Change-Id: I6a6a6964dfe85b5ee4f66b8c442fe448c7c5c87c --- tests/functional/tarball.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/functional/tarball.sh b/tests/functional/tarball.sh index bd5d710b6..72b6032da 100644 --- a/tests/functional/tarball.sh +++ b/tests/functional/tarball.sh @@ -30,6 +30,14 @@ test_tarball() { # Do not re-fetch paths already present nix-build -o $TEST_ROOT/result -E "import (fetchTarball { url = \"file:///does-not-exist/must-remain-unused/$tarball\"; sha256 = \"$hash\"; })" + # Regression test: Ensure tarballs can be unpacked when the + # temporary directory is a symbolic link. + ( + export HOME=$(mktemp -d) + ln -sf "$TMPDIR" "$HOME/tmp" + nix-build -o "$TEST_ROOT/result" --temp-dir "$HOME/tmp" -E "import (fetchTarball \"file://$tarball\")" + ) + nix-build -o $TEST_ROOT/result -E "import (fetchTree \"file://$tarball\")" nix-build -o $TEST_ROOT/result -E "import (fetchTree { type = \"tarball\"; url = \"file://$tarball\"; })" nix-build -o $TEST_ROOT/result -E "import (fetchTree { type = \"tarball\"; url = \"file://$tarball\"; narHash = \"$hash\"; })"