diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2011-01-09 18:46:02 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2011-01-09 18:46:02 +0000 |
commit | 7fd8ce0d95032cefba81f689f868e415f20f6190 (patch) | |
tree | bf1b1ed86496ae6148efeeb950c36581df377346 | |
parent | 260d9faee70846b99439417f91671a1211074448 (diff) | |
download | nixpkgs-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.pm | 4 | ||||
-rw-r--r-- | lib/test-driver/test-driver.pl | 11 | ||||
-rw-r--r-- | lib/testing.nix | 2 |
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 ''; # */ }; |