diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2004-05-11T18·05+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2004-05-11T18·05+0000 |
commit | c8d3882cdc8f9e22c58af285c1996265c1af75d5 (patch) | |
tree | bca454268647fa6edf6cd349fc92543b9789d188 /tests | |
parent | aea436503e9126b06cd15acf1f0c6b738ffbc7de (diff) |
* True parallel builds. Nix can now run as many build jobs in
parallel as possible (similar to GNU Make's `-j' switch). This is useful on SMP systems, but it is especially useful for doing builds on multiple machines. The idea is that a large derivation is initiated on one master machine, which then distributes sub-derivations to any number of slave machines. This should not happen synchronously or in lock-step, so the master must be capable of dealing with multiple parallel build jobs. We now have the infrastructure to support this. TODO: substitutes are currently broken.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 5 | ||||
-rw-r--r-- | tests/locking.sh | 2 | ||||
-rw-r--r-- | tests/parallel.nix.in | 6 | ||||
-rw-r--r-- | tests/parallel.sh | 14 |
4 files changed, 13 insertions, 14 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index d540290b4944..14662c20d4d1 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -17,10 +17,9 @@ dependencies.sh: dependencies.nix locking.sh: locking.nix parallel.sh: parallel.nix -TESTS = init.sh simple.sh dependencies.sh parallel.sh -#locking.sh parallel.sh +TESTS = init.sh simple.sh dependencies.sh locking.sh parallel.sh -XFAIL_TESTS = parallel.sh +XFAIL_TESTS = include ../substitute.mk diff --git a/tests/locking.sh b/tests/locking.sh index 5728aee93727..ac515fcea480 100644 --- a/tests/locking.sh +++ b/tests/locking.sh @@ -4,7 +4,7 @@ echo "store expr is $storeExpr" for i in $(seq 1 5); do echo "WORKER $i" - $TOP/src/nix-store/nix-store -rvvB "$storeExpr" & + $TOP/src/nix-store/nix-store -rvvvvvB "$storeExpr" & done sleep 5 diff --git a/tests/parallel.nix.in b/tests/parallel.nix.in index 41d6776d1bbe..29eac17523f6 100644 --- a/tests/parallel.nix.in +++ b/tests/parallel.nix.in @@ -11,9 +11,9 @@ let { a = mkDrv "a" []; b = mkDrv "b" [a]; - c = mkDrv "c" [b]; - d = mkDrv "d" [c]; + c = mkDrv "c" [a]; + d = mkDrv "d" [a]; e = mkDrv "e" [b c d]; body = e; -} \ No newline at end of file +} diff --git a/tests/parallel.sh b/tests/parallel.sh index 7040f7ad91d3..6a563ef2bb9f 100644 --- a/tests/parallel.sh +++ b/tests/parallel.sh @@ -2,19 +2,19 @@ storeExpr=$($TOP/src/nix-instantiate/nix-instantiate parallel.nix) echo "store expr is $storeExpr" -for i in $(seq 1 5); do - echo "WORKER $i" - $TOP/src/nix-store/nix-store -rvvB "$storeExpr" & -done +#for i in $(seq 1 5); do +# echo "WORKER $i" +# $TOP/src/nix-store/nix-store -rvvB "$storeExpr" & +#done -sleep 5 +#sleep 5 -outPath=$($TOP/src/nix-store/nix-store -qnfvvvvv "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -qnfvvvvvvK "$storeExpr") echo "output path is $outPath" text=$(cat "$outPath") -if test "$text" != "aabcade"; then exit 1; fi +if test "$text" != "abacade"; then exit 1; fi if test "$(cat $SHARED.cur)" != 0; then exit 1; fi if test "$(cat $SHARED.max)" != 3; then exit 1; fi |