mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-14 10:16:15 +02:00
Replace --hashed-mirrors with substituters test
This commit is contained in:
parent
9077b9e6b2
commit
1c148a80fe
2 changed files with 16 additions and 19 deletions
|
@ -61,30 +61,30 @@ nix-build check.nix -A nondeterministic --no-out-link --repeat 1 2> $TEST_ROOT/l
|
||||||
[ "$status" = "1" ]
|
[ "$status" = "1" ]
|
||||||
grep 'differs from previous round' $TEST_ROOT/log
|
grep 'differs from previous round' $TEST_ROOT/log
|
||||||
|
|
||||||
path=$(nix-build check.nix -A fetchurl --no-out-link --hashed-mirrors '')
|
path=$(nix-build check.nix -A fetchurl --no-out-link)
|
||||||
|
|
||||||
chmod +w $path
|
chmod +w $path
|
||||||
echo foo > $path
|
echo foo > $path
|
||||||
chmod -w $path
|
chmod -w $path
|
||||||
|
|
||||||
nix-build check.nix -A fetchurl --no-out-link --check --hashed-mirrors ''
|
nix-build check.nix -A fetchurl --no-out-link --check
|
||||||
# Note: "check" doesn't repair anything, it just compares to the hash stored in the database.
|
# Note: "check" doesn't repair anything, it just compares to the hash stored in the database.
|
||||||
[[ $(cat $path) = foo ]]
|
[[ $(cat $path) = foo ]]
|
||||||
|
|
||||||
nix-build check.nix -A fetchurl --no-out-link --repair --hashed-mirrors ''
|
nix-build check.nix -A fetchurl --no-out-link --repair
|
||||||
[[ $(cat $path) != foo ]]
|
[[ $(cat $path) != foo ]]
|
||||||
|
|
||||||
nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors '' || status=$?
|
nix-build check.nix -A hashmismatch --no-out-link || status=$?
|
||||||
[ "$status" = "102" ]
|
[ "$status" = "102" ]
|
||||||
|
|
||||||
echo -n > ./dummy
|
echo -n > ./dummy
|
||||||
nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors ''
|
nix-build check.nix -A hashmismatch --no-out-link
|
||||||
echo 'Hello World' > ./dummy
|
echo 'Hello World' > ./dummy
|
||||||
|
|
||||||
nix-build check.nix -A hashmismatch --no-out-link --check --hashed-mirrors '' || status=$?
|
nix-build check.nix -A hashmismatch --no-out-link --check || status=$?
|
||||||
[ "$status" = "102" ]
|
[ "$status" = "102" ]
|
||||||
|
|
||||||
# Multiple failures with --keep-going
|
# Multiple failures with --keep-going
|
||||||
nix-build check.nix -A nondeterministic --no-out-link
|
nix-build check.nix -A nondeterministic --no-out-link
|
||||||
nix-build check.nix -A nondeterministic -A hashmismatch --no-out-link --check --keep-going --hashed-mirrors '' || status=$?
|
nix-build check.nix -A nondeterministic -A hashmismatch --no-out-link --check --keep-going || status=$?
|
||||||
[ "$status" = "110" ]
|
[ "$status" = "110" ]
|
||||||
|
|
|
@ -5,7 +5,7 @@ clearStore
|
||||||
# Test fetching a flat file.
|
# Test fetching a flat file.
|
||||||
hash=$(nix-hash --flat --type sha256 ./fetchurl.sh)
|
hash=$(nix-hash --flat --type sha256 ./fetchurl.sh)
|
||||||
|
|
||||||
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file://$(pwd)/fetchurl.sh --argstr sha256 $hash --no-out-link --hashed-mirrors '')
|
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file://$(pwd)/fetchurl.sh --argstr sha256 $hash --no-out-link)
|
||||||
|
|
||||||
cmp $outPath fetchurl.sh
|
cmp $outPath fetchurl.sh
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ clearStore
|
||||||
|
|
||||||
hash=$(nix hash-file --type sha512 --base64 ./fetchurl.sh)
|
hash=$(nix hash-file --type sha512 --base64 ./fetchurl.sh)
|
||||||
|
|
||||||
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file://$(pwd)/fetchurl.sh --argstr sha512 $hash --no-out-link --hashed-mirrors '')
|
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file://$(pwd)/fetchurl.sh --argstr sha512 $hash --no-out-link)
|
||||||
|
|
||||||
cmp $outPath fetchurl.sh
|
cmp $outPath fetchurl.sh
|
||||||
|
|
||||||
|
@ -25,26 +25,23 @@ hash=$(nix hash-file ./fetchurl.sh)
|
||||||
|
|
||||||
[[ $hash =~ ^sha256- ]]
|
[[ $hash =~ ^sha256- ]]
|
||||||
|
|
||||||
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file://$(pwd)/fetchurl.sh --argstr hash $hash --no-out-link --hashed-mirrors '')
|
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file://$(pwd)/fetchurl.sh --argstr hash $hash --no-out-link)
|
||||||
|
|
||||||
cmp $outPath fetchurl.sh
|
cmp $outPath fetchurl.sh
|
||||||
|
|
||||||
# Test the hashed mirror feature.
|
# Test that we can substitute from a different store dir.
|
||||||
clearStore
|
clearStore
|
||||||
|
|
||||||
hash=$(nix hash-file --type sha512 --base64 ./fetchurl.sh)
|
other_store=file://$TEST_ROOT/other_store
|
||||||
hash32=$(nix hash-file --type sha512 --base16 ./fetchurl.sh)
|
|
||||||
|
|
||||||
mirror=$TEST_ROOT/hashed-mirror
|
hash=$(nix hash-file --type sha256 --base16 ./fetchurl.sh)
|
||||||
rm -rf $mirror
|
storePath=$(nix add-to-store --store $other_store ./fetchurl.sh)
|
||||||
mkdir -p $mirror/sha512
|
|
||||||
ln -s $(pwd)/fetchurl.sh $mirror/sha512/$hash32
|
|
||||||
|
|
||||||
outPath=$(nix-build '<nix/fetchurl.nix>' --argstr url file:///no-such-dir/fetchurl.sh --argstr sha512 $hash --no-out-link --hashed-mirrors "file://$mirror")
|
outPath=$(nix-build -vvvvvv '<nix/fetchurl.nix>' --argstr url file:///no-such-dir/fetchurl.sh --argstr sha256 $hash --no-out-link --substituters $other_store)
|
||||||
|
|
||||||
# Test hashed mirrors with an SRI hash.
|
# Test hashed mirrors with an SRI hash.
|
||||||
nix-build '<nix/fetchurl.nix>' --argstr url file:///no-such-dir/fetchurl.sh --argstr hash $(nix to-sri --type sha512 $hash) \
|
nix-build '<nix/fetchurl.nix>' --argstr url file:///no-such-dir/fetchurl.sh --argstr hash $(nix to-sri --type sha512 $hash) \
|
||||||
--argstr name bla --no-out-link --hashed-mirrors "file://$mirror"
|
--argstr name bla --no-out-link --substituters $other_store
|
||||||
|
|
||||||
# Test unpacking a NAR.
|
# Test unpacking a NAR.
|
||||||
rm -rf $TEST_ROOT/archive
|
rm -rf $TEST_ROOT/archive
|
||||||
|
|
Loading…
Reference in a new issue