forked from lix-project/lix
build: add tests for --check status codes
This commit is contained in:
parent
cbf84bcce7
commit
99ee3755dd
|
@ -10,6 +10,11 @@ with import ./config.nix;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hashmismatch = import <nix/fetchurl.nix> {
|
||||||
|
url = "file://" + toString ./dummy;
|
||||||
|
sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
|
||||||
|
};
|
||||||
|
|
||||||
fetchurl = import <nix/fetchurl.nix> {
|
fetchurl = import <nix/fetchurl.nix> {
|
||||||
url = "file://" + toString ./lang/eval-okay-xml.exp.xml;
|
url = "file://" + toString ./lang/eval-okay-xml.exp.xml;
|
||||||
sha256 = "0kg4sla7ihm8ijr8cb3117fhl99zrc2bwy1jrngsfmkh8bav4m0v";
|
sha256 = "0kg4sla7ihm8ijr8cb3117fhl99zrc2bwy1jrngsfmkh8bav4m0v";
|
||||||
|
|
|
@ -6,14 +6,16 @@ nix-build dependencies.nix --no-out-link
|
||||||
nix-build dependencies.nix --no-out-link --check
|
nix-build dependencies.nix --no-out-link --check
|
||||||
|
|
||||||
nix-build check.nix -A nondeterministic --no-out-link
|
nix-build check.nix -A nondeterministic --no-out-link
|
||||||
(! nix-build check.nix -A nondeterministic --no-out-link --check 2> $TEST_ROOT/log)
|
nix-build check.nix -A nondeterministic --no-out-link --check 2> $TEST_ROOT/log || status=$?
|
||||||
|
[ "$status" = "104" ]
|
||||||
grep 'may not be deterministic' $TEST_ROOT/log
|
grep 'may not be deterministic' $TEST_ROOT/log
|
||||||
|
|
||||||
clearStore
|
clearStore
|
||||||
|
|
||||||
nix-build dependencies.nix --no-out-link --repeat 3
|
nix-build dependencies.nix --no-out-link --repeat 3
|
||||||
|
|
||||||
(! nix-build check.nix -A nondeterministic --no-out-link --repeat 1 2> $TEST_ROOT/log)
|
nix-build check.nix -A nondeterministic --no-out-link --repeat 1 2> $TEST_ROOT/log || status=$?
|
||||||
|
[ "$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 --hashed-mirrors '')
|
||||||
|
@ -23,10 +25,23 @@ 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 --hashed-mirrors ''
|
||||||
|
|
||||||
# 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 --hashed-mirrors ''
|
||||||
|
|
||||||
[[ $(cat $path) != foo ]]
|
[[ $(cat $path) != foo ]]
|
||||||
|
|
||||||
|
nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors '' || status=$?
|
||||||
|
[ "$status" = "102" ]
|
||||||
|
|
||||||
|
echo -n > ./dummy
|
||||||
|
nix-build check.nix -A hashmismatch --no-out-link --hashed-mirrors ''
|
||||||
|
echo 'Hello World' > ./dummy
|
||||||
|
|
||||||
|
nix-build check.nix -A hashmismatch --no-out-link --check --hashed-mirrors '' || status=$?
|
||||||
|
[ "$status" = "102" ]
|
||||||
|
|
||||||
|
# Multiple failures with --keep-going
|
||||||
|
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=$?
|
||||||
|
[ "$status" = "106" ]
|
||||||
|
|
Loading…
Reference in a new issue