mirror of
https://github.com/NixOS/nix.git
synced 2025-11-11 21:16:02 +01:00
When `NIX_DAEMON_PACKAGE` is set, make all the tests use the Nix daemon.
That way we can test every piece of Nix functionality both with and
without the daemon.
Tests for which using the daemon isn’t possible or doesn’t make sens can
selectively be disabled with `needLocalStore`
(cherry picked from commit addacfce4a)
50 lines
1.6 KiB
Bash
50 lines
1.6 KiB
Bash
source common.sh
|
||
|
||
# XXX: This shouldn’t be, but #4813 cause this test to fail
|
||
buggyNeedLocalStore "see #4813"
|
||
|
||
clearStore
|
||
|
||
nix-build dependencies.nix --no-out-link
|
||
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 --check 2> $TEST_ROOT/log || status=$?
|
||
grep 'may not be deterministic' $TEST_ROOT/log
|
||
[ "$status" = "104" ]
|
||
|
||
clearStore
|
||
|
||
nix-build dependencies.nix --no-out-link --repeat 3
|
||
|
||
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
|
||
|
||
path=$(nix-build check.nix -A fetchurl --no-out-link --hashed-mirrors '')
|
||
|
||
chmod +w $path
|
||
echo foo > $path
|
||
chmod -w $path
|
||
|
||
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.
|
||
[[ $(cat $path) = foo ]]
|
||
|
||
nix-build check.nix -A fetchurl --no-out-link --repair --hashed-mirrors ''
|
||
[[ $(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" = "110" ]
|