summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2011-01-09 18:46:02 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2011-01-09 18:46:02 +0000
commit7fd8ce0d95032cefba81f689f868e415f20f6190 (patch)
treebf1b1ed86496ae6148efeeb950c36581df377346
parent260d9faee70846b99439417f91671a1211074448 (diff)
downloadnixpkgs-7fd8ce0d95032cefba81f689f868e415f20f6190.tar
nixpkgs-7fd8ce0d95032cefba81f689f868e415f20f6190.tar.gz
nixpkgs-7fd8ce0d95032cefba81f689f868e415f20f6190.tar.bz2
nixpkgs-7fd8ce0d95032cefba81f689f868e415f20f6190.tar.lz
nixpkgs-7fd8ce0d95032cefba81f689f868e415f20f6190.tar.xz
nixpkgs-7fd8ce0d95032cefba81f689f868e415f20f6190.tar.zst
nixpkgs-7fd8ce0d95032cefba81f689f868e415f20f6190.zip
* If a subtest fails, continue to the next subtest.
svn path=/nixos/trunk/; revision=25472
-rw-r--r--lib/test-driver/Logger.pm4
-rw-r--r--lib/test-driver/test-driver.pl11
-rw-r--r--lib/testing.nix2
3 files changed, 12 insertions, 5 deletions
diff --git a/lib/test-driver/Logger.pm b/lib/test-driver/Logger.pm
index b2d31b8820f..6e62fdfd770 100644
--- a/lib/test-driver/Logger.pm
+++ b/lib/test-driver/Logger.pm
@@ -46,9 +46,11 @@ sub nest {
     $self->{log}->startTag("nest");
     $self->{log}->dataElement("head", $msg, %{$attrs});
     $self->drainLogQueue();
-    &$coderef;
+    eval { &$coderef };
+    my $res = $@;
     $self->drainLogQueue();
     $self->{log}->endTag("nest");
+    die $@ if $@;
 }
 
 sub sanitise {
diff --git a/lib/test-driver/test-driver.pl b/lib/test-driver/test-driver.pl
index 0ccde63fc3e..1007546804b 100644
--- a/lib/test-driver/test-driver.pl
+++ b/lib/test-driver/test-driver.pl
@@ -52,8 +52,12 @@ sub subtest {
     my ($name, $coderef) = @_;
     $log->nest("subtest: $name", sub {
         $nrTests++;
-        &$coderef;
-        $nrSucceeded++;
+        eval { &$coderef };
+        if ($@) {
+            $log->log("error: $@", { error => 1 });
+        } else {
+            $nrSucceeded++;
+        }
     });
 }
 
@@ -95,7 +99,8 @@ sub runTests {
     }
 
     if ($nrTests != 0) {
-        #$log->dataElement("line", "$nrSucceeded out of $nrTests tests succeeded");
+        $log->log("$nrSucceeded out of $nrTests tests succeeded",
+            ($nrSucceeded != $nrTests ? { error => 1 } : { }));
     }
 }
 
diff --git a/lib/testing.nix b/lib/testing.nix
index 045b5b646b8..16e38771172 100644
--- a/lib/testing.nix
+++ b/lib/testing.nix
@@ -65,7 +65,7 @@ rec {
           ln -s ${pkgs.jquery_ui}/js/jquery-ui.min.js $out/
 
           touch $out/nix-support/hydra-build-products
-          echo "report testlog $out/log.html" >> $out/nix-support/hydra-build-products
+          echo "report testlog $out log.html" >> $out/nix-support/hydra-build-products
         ''; # */
     };