aboutsummaryrefslogtreecommitdiff
path: root/tests/tarball.sh
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2023-08-22 19:29:25 +0200
committerEelco Dolstra <edolstra@gmail.com>2023-08-22 21:51:26 +0200
commit81045f243f91adcd44da0080c9ac83d2c4176125 (patch)
tree8618a71ccad18c52952f8922da1f36b584a0b03d /tests/tarball.sh
parent3fcdea4ca0f362d21637002918b49cd41358e8e2 (diff)
Tarball trees: Propagate lastModified
This makes them behave consistently with GitHub/GitLab flakes.
Diffstat (limited to 'tests/tarball.sh')
-rw-r--r--tests/tarball.sh3
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/tarball.sh b/tests/tarball.sh
index 5f39658c9..6e621a28c 100644
--- a/tests/tarball.sh
+++ b/tests/tarball.sh
@@ -9,6 +9,7 @@ rm -rf $tarroot
mkdir -p $tarroot
cp dependencies.nix $tarroot/default.nix
cp config.nix dependencies.builder*.sh $tarroot/
+touch -d '@1000000000' $tarroot $tarroot/*
hash=$(nix hash path $tarroot)
@@ -36,6 +37,8 @@ test_tarball() {
nix-build -o $TEST_ROOT/result -E "import (fetchTree { type = \"tarball\"; url = file:///does-not-exist/must-remain-unused/$tarball; narHash = \"$hash\"; })"
expectStderr 102 nix-build -o $TEST_ROOT/result -E "import (fetchTree { type = \"tarball\"; url = file://$tarball; narHash = \"sha256-xdKv2pq/IiwLSnBBJXW8hNowI4MrdZfW+SYqDQs7Tzc=\"; })" | grep 'NAR hash mismatch in input'
+ [[ $(nix eval --impure --expr "(fetchTree file://$tarball).lastModified") = 1000000000 ]]
+
nix-instantiate --strict --eval -E "!((import (fetchTree { type = \"tarball\"; url = file://$tarball; narHash = \"$hash\"; })) ? submodules)" >&2
nix-instantiate --strict --eval -E "!((import (fetchTree { type = \"tarball\"; url = file://$tarball; narHash = \"$hash\"; })) ? submodules)" 2>&1 | grep 'true'