about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2004-05-11T18·05+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2004-05-11T18·05+0000
commitc8d3882cdc8f9e22c58af285c1996265c1af75d5 (patch)
treebca454268647fa6edf6cd349fc92543b9789d188 /tests
parentaea436503e9126b06cd15acf1f0c6b738ffbc7de (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.am5
-rw-r--r--tests/locking.sh2
-rw-r--r--tests/parallel.nix.in6
-rw-r--r--tests/parallel.sh14
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