mirror of
https://github.com/NixOS/nix
synced 2025-07-07 10:11:47 +02:00
* Acquire the locks on the output paths before trying to run the build
hook. This fixes a problem with log files being partially or completely filled with 0's because another nix-store process truncates the log file. It should also be more efficient.
This commit is contained in:
parent
1dcf208f56
commit
c183ee5c79
4 changed files with 78 additions and 150 deletions
|
@ -1,5 +1,7 @@
|
|||
source common.sh
|
||||
|
||||
clearStore
|
||||
|
||||
drvPath=$($nixinstantiate dependencies.nix)
|
||||
|
||||
echo "derivation is $drvPath"
|
||||
|
@ -13,7 +15,7 @@ if test -n "$dot"; then
|
|||
$dot < $TEST_ROOT/graph
|
||||
fi
|
||||
|
||||
outPath=$($nixstore -rvv "$drvPath")
|
||||
outPath=$($nixstore -rvv "$drvPath") || fail "build failed"
|
||||
|
||||
# Test Graphviz graph generation.
|
||||
$nixstore -q --graph "$outPath" > $TEST_ROOT/graph
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
source common.sh
|
||||
|
||||
$NIX_BIN_DIR/nix-collect-garbage -vvvvv
|
||||
$NIX_BIN_DIR/nix-collect-garbage
|
||||
|
||||
drvPath1=$($nixinstantiate gc-concurrent.nix -A test1)
|
||||
outPath1=$($nixstore -q $drvPath1)
|
||||
|
@ -28,7 +28,7 @@ pid2=$!
|
|||
|
||||
# Run the garbage collector while the build is running.
|
||||
sleep 4
|
||||
$NIX_BIN_DIR/nix-collect-garbage -vvvvv
|
||||
$NIX_BIN_DIR/nix-collect-garbage
|
||||
|
||||
# Wait for build #1/#2 to finish.
|
||||
echo waiting for pid $pid1 to finish...
|
||||
|
@ -53,6 +53,6 @@ rm -f "$NIX_STATE_DIR"/gcroots/foo*
|
|||
! test -e $outPath3.lock
|
||||
|
||||
# If we run the collector now, it should delete outPath1/2.
|
||||
$NIX_BIN_DIR/nix-collect-garbage -vvvvv
|
||||
$NIX_BIN_DIR/nix-collect-garbage
|
||||
! test -e $outPath1
|
||||
! test -e $outPath2
|
||||
|
|
|
@ -2,7 +2,7 @@ source common.sh
|
|||
|
||||
clearStore
|
||||
|
||||
outPath=$($nixbuild -vv -j10000 parallel.nix)
|
||||
outPath=$($nixbuild -j10000 parallel.nix)
|
||||
|
||||
echo "output path is $outPath"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue