mirror of
https://github.com/NixOS/nix
synced 2025-07-08 02:43:54 +02:00
Merge pull request #5942 from NixOS/5912-quieter-nix-why-depends
Make `nix why-depends` quieter by default
This commit is contained in:
commit
c7223db871
6 changed files with 49 additions and 10 deletions
|
@ -4,7 +4,7 @@
|
|||
mkdir $out
|
||||
echo $(cat $input1/foo)$(cat $input2/bar) > $out/foobar
|
||||
|
||||
ln -s $input2 $out/input-2
|
||||
ln -s $input2 $out/reference-to-input-2
|
||||
|
||||
# Self-reference.
|
||||
ln -s $out $out/self
|
||||
|
|
|
@ -27,6 +27,8 @@ let {
|
|||
input1 = input1 + "/.";
|
||||
input2 = "${input2}/.";
|
||||
input1_drv = input1;
|
||||
input2_drv = input2;
|
||||
input0_drv = input0;
|
||||
meta.description = "Random test package";
|
||||
};
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ if nix-store --gc --print-dead | grep -E $outPath$; then false; fi
|
|||
|
||||
nix-store --gc --print-dead
|
||||
|
||||
inUse=$(readLink $outPath/input-2)
|
||||
inUse=$(readLink $outPath/reference-to-input-2)
|
||||
if nix-store --delete $inUse; then false; fi
|
||||
test -e $inUse
|
||||
|
||||
|
@ -35,7 +35,7 @@ nix-collect-garbage
|
|||
|
||||
# Check that the root and its dependencies haven't been deleted.
|
||||
cat $outPath/foobar
|
||||
cat $outPath/input-2/bar
|
||||
cat $outPath/reference-to-input-2/bar
|
||||
|
||||
# Check that the derivation has been GC'd.
|
||||
if test -e $drvPath; then false; fi
|
||||
|
|
|
@ -61,7 +61,8 @@ nix_tests = \
|
|||
ca/concurrent-builds.sh \
|
||||
ca/nix-copy.sh \
|
||||
eval-store.sh \
|
||||
readfile-context.sh
|
||||
readfile-context.sh \
|
||||
why-depends.sh
|
||||
# parallel.sh
|
||||
|
||||
ifeq ($(HAVE_LIBCPUID), 1)
|
||||
|
|
21
tests/why-depends.sh
Normal file
21
tests/why-depends.sh
Normal file
|
@ -0,0 +1,21 @@
|
|||
source common.sh
|
||||
|
||||
clearStore
|
||||
|
||||
cp ./dependencies.nix ./dependencies.builder0.sh ./config.nix $TEST_HOME
|
||||
|
||||
cd $TEST_HOME
|
||||
|
||||
nix-build ./dependencies.nix -A input0_drv -o dep
|
||||
nix-build ./dependencies.nix -o toplevel
|
||||
|
||||
FAST_WHY_DEPENDS_OUTPUT=$(nix why-depends ./toplevel ./dep)
|
||||
PRECISE_WHY_DEPENDS_OUTPUT=$(nix why-depends ./toplevel ./dep --precise)
|
||||
|
||||
# Both outputs should show that `input-2` is in the dependency chain
|
||||
echo "$FAST_WHY_DEPENDS_OUTPUT" | grep -q input-2
|
||||
echo "$PRECISE_WHY_DEPENDS_OUTPUT" | grep -q input-2
|
||||
|
||||
# But only the “precise” one should refere to `reference-to-input-2`
|
||||
echo "$FAST_WHY_DEPENDS_OUTPUT" | (! grep -q reference-to-input-2)
|
||||
echo "$PRECISE_WHY_DEPENDS_OUTPUT" | grep -q reference-to-input-2
|
Loading…
Add table
Add a link
Reference in a new issue