forked from lix-project/hydra
hydra-evaluate-jobset: assert it logs errored constituents properly
This commit is contained in:
parent
25f6bae847
commit
0c51de6334
32
t/evaluator/evaluate-constituents-broken.t
Normal file
32
t/evaluator/evaluate-constituents-broken.t
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Setup;
|
||||||
|
use Test2::V0;
|
||||||
|
use Hydra::Helper::Exec;
|
||||||
|
|
||||||
|
my $ctx = test_context();
|
||||||
|
|
||||||
|
my $jobsetCtx = $ctx->makeJobset(
|
||||||
|
expression => 'constituents-broken.nix',
|
||||||
|
);
|
||||||
|
my $jobset = $jobsetCtx->{"jobset"};
|
||||||
|
|
||||||
|
my ($res, $stdout, $stderr) = captureStdoutStderr(60,
|
||||||
|
("hydra-eval-jobset", $jobsetCtx->{"project"}->name, $jobset->name)
|
||||||
|
);
|
||||||
|
isnt($res, 0, "hydra-eval-jobset exits non-zero");
|
||||||
|
ok(utf8::decode($stderr), "Stderr output is UTF8-clean");
|
||||||
|
like(
|
||||||
|
$stderr,
|
||||||
|
qr/aggregate job ‘mixed_aggregate’ failed with the error: constituentA: does not exist/,
|
||||||
|
"The stderr record includes a relevant error message"
|
||||||
|
);
|
||||||
|
|
||||||
|
$jobset->discard_changes; # refresh from DB
|
||||||
|
like(
|
||||||
|
$jobset->errormsg,
|
||||||
|
qr/aggregate job ‘mixed_aggregate’ failed with the error: constituentA: does not exist/,
|
||||||
|
"The jobset records a relevant error message"
|
||||||
|
);
|
||||||
|
|
||||||
|
done_testing;
|
19
t/jobs/constituents-broken.nix
Normal file
19
t/jobs/constituents-broken.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
with import ./config.nix;
|
||||||
|
rec {
|
||||||
|
constituentA = null;
|
||||||
|
|
||||||
|
constituentB = mkDerivation {
|
||||||
|
name = "empty-dir-B";
|
||||||
|
builder = ./empty-dir-builder.sh;
|
||||||
|
};
|
||||||
|
|
||||||
|
mixed_aggregate = mkDerivation {
|
||||||
|
name = "mixed_aggregate";
|
||||||
|
_hydraAggregate = true;
|
||||||
|
constituents = [
|
||||||
|
"constituentA"
|
||||||
|
constituentB
|
||||||
|
];
|
||||||
|
builder = ./empty-dir-builder.sh;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue