2024-05-28 12:43:04 -04:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2006-03-01 07:15:33 -05:00
|
|
|
source common.sh
|
|
|
|
|
2011-10-10 17:32:34 -04:00
|
|
|
drvPath=$(nix-instantiate simple.nix)
|
2004-05-04 08:15:30 -04:00
|
|
|
|
2011-10-10 17:32:34 -04:00
|
|
|
test "$(nix-store -q --binding system "$drvPath")" = "$system"
|
2006-03-01 10:46:22 -05:00
|
|
|
|
2005-02-09 07:57:13 -05:00
|
|
|
echo "derivation is $drvPath"
|
2004-05-04 08:15:30 -04:00
|
|
|
|
2011-10-10 17:32:34 -04:00
|
|
|
outPath=$(nix-store -rvv "$drvPath")
|
2004-05-04 08:15:30 -04:00
|
|
|
|
|
|
|
echo "output path is $outPath"
|
|
|
|
|
2024-08-01 18:10:08 -04:00
|
|
|
[[ ! -w $outPath ]]
|
2020-09-23 13:09:58 -04:00
|
|
|
|
2024-06-12 12:42:38 -04:00
|
|
|
text=$(cat "$outPath/hello")
|
2004-05-04 08:15:30 -04:00
|
|
|
if test "$text" != "Hello World!"; then exit 1; fi
|
2006-03-01 09:26:03 -05:00
|
|
|
|
2024-06-16 06:51:46 -04:00
|
|
|
TODO_NixOS
|
|
|
|
|
2006-03-01 09:26:03 -05:00
|
|
|
# Directed delete: $outPath is not reachable from a root, so it should
|
|
|
|
# be deleteable.
|
2024-08-01 18:10:08 -04:00
|
|
|
nix-store --delete "$outPath"
|
|
|
|
[[ ! -e $outPath/hello ]]
|
2006-07-19 11:49:29 -04:00
|
|
|
|
2024-08-01 18:10:08 -04:00
|
|
|
outPath="$(NIX_REMOTE='local?store=/foo&real='"$TEST_ROOT"'/real-store' nix-instantiate --readonly-mode hash-check.nix)"
|
2007-12-30 18:59:10 -05:00
|
|
|
if test "$outPath" != "/foo/lfy1s6ca46rm5r6w4gg9hc0axiakjcnm-dependencies.drv"; then
|
|
|
|
echo "hashDerivationModulo appears broken, got $outPath"
|
|
|
|
exit 1
|
2006-07-19 11:49:29 -04:00
|
|
|
fi
|
2022-01-05 19:20:12 -05:00
|
|
|
|
2024-08-01 18:10:08 -04:00
|
|
|
outPath="$(NIX_REMOTE='local?store=/foo&real='"$TEST_ROOT"'/real-store' nix-instantiate --readonly-mode big-derivation-attr.nix)"
|
2022-01-05 19:20:12 -05:00
|
|
|
if test "$outPath" != "/foo/xxiwa5zlaajv6xdjynf9yym9g319d6mn-big-derivation-attr.drv"; then
|
|
|
|
echo "big-derivation-attr.nix hash appears broken, got $outPath. Memory corruption in large drv attr?"
|
|
|
|
exit 1
|
|
|
|
fi
|