summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2011-01-09 18:56:11 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2011-01-09 18:56:11 +0000
commitb5b7375eea15614d984c1696fbe74895719260dd (patch)
treeeeef12187d575ff41601ba9cf10fb4bcbe713032 /lib
parent7fd8ce0d95032cefba81f689f868e415f20f6190 (diff)
downloadnixlib-b5b7375eea15614d984c1696fbe74895719260dd.tar
nixlib-b5b7375eea15614d984c1696fbe74895719260dd.tar.gz
nixlib-b5b7375eea15614d984c1696fbe74895719260dd.tar.bz2
nixlib-b5b7375eea15614d984c1696fbe74895719260dd.tar.lz
nixlib-b5b7375eea15614d984c1696fbe74895719260dd.tar.xz
nixlib-b5b7375eea15614d984c1696fbe74895719260dd.tar.zst
nixlib-b5b7375eea15614d984c1696fbe74895719260dd.zip
* If a subtest fails, mark the build as failed.
svn path=/nixos/trunk/; revision=25474
Diffstat (limited to 'lib')
-rw-r--r--lib/test-driver/test-driver.pl4
-rw-r--r--lib/testing.nix15
2 files changed, 12 insertions, 7 deletions
diff --git a/lib/test-driver/test-driver.pl b/lib/test-driver/test-driver.pl
index 1007546804bb..0162832db87c 100644
--- a/lib/test-driver/test-driver.pl
+++ b/lib/test-driver/test-driver.pl
@@ -100,7 +100,7 @@ sub runTests {
 
     if ($nrTests != 0) {
         $log->log("$nrSucceeded out of $nrTests tests succeeded",
-            ($nrSucceeded != $nrTests ? { error => 1 } : { }));
+            ($nrSucceeded < $nrTests ? { error => 1 } : { }));
     }
 }
 
@@ -126,3 +126,5 @@ END {
 
 
 runTests;
+
+exit ($nrSucceeded < $nrTests ? 1 : 0);
diff --git a/lib/testing.nix b/lib/testing.nix
index 16e38771172c..1cc237cba9d5 100644
--- a/lib/testing.nix
+++ b/lib/testing.nix
@@ -51,13 +51,9 @@ rec {
         ''
           ensureDir $out/nix-support
 
-          LOGFILE=$out/log.xml ${testDriver}/bin/nixos-test-driver ${network}/vms/*/bin/run-*-vm
-          
-          for i in */coverage-data; do
-            ensureDir $out/coverage-data
-            mv $i $out/coverage-data/$(dirname $i)
-          done
+          LOGFILE=$out/log.xml ${testDriver}/bin/nixos-test-driver ${network}/vms/*/bin/run-*-vm || failed=1
 
+          # Generate a pretty-printed log.          
           xsltproc --output $out/log.html ${./test-driver/log2html.xsl} $out/log.xml
           ln -s ${./test-driver/logfile.css} $out/logfile.css
           ln -s ${./test-driver/treebits.js} $out/treebits.js
@@ -66,6 +62,13 @@ rec {
 
           touch $out/nix-support/hydra-build-products
           echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products
+
+          for i in */coverage-data; do
+            ensureDir $out/coverage-data
+            mv $i $out/coverage-data/$(dirname $i)
+          done
+
+          [ -z "$failed" ] || touch $out/nix-support/failed
         ''; # */
     };