Depends on https://github.com/nix-community/nix-eval-jobs/pull/349 & #1421. Almost equivalent to #1425, but with a small change: when having e.g. an aggregate job with a glob that matches nothing, the jobset evaluation is failed now. This was the intended behavior before (hydra-eval-jobset fails hard if an aggregate is broken), the code-path was never reached however since the aggregate was never marked as broken in this case before.
33 lines
990 B
Perl
33 lines
990 B
Perl
use feature 'unicode_strings';
|
|
use strict;
|
|
use warnings;
|
|
use Setup;
|
|
|
|
my %ctx = test_init();
|
|
|
|
require Hydra::Schema;
|
|
require Hydra::Model::DB;
|
|
|
|
use Test2::V0;
|
|
|
|
my $db = Hydra::Model::DB->new;
|
|
hydra_setup($db);
|
|
|
|
my $project = $db->resultset('Projects')->create({name => "tests", displayname => "", owner => "root"});
|
|
|
|
my $jobset = createBaseJobset("broken-constituent", "broken-constituent.nix", $ctx{jobsdir});
|
|
|
|
ok(evalSucceeds($jobset), "Evaluating jobs/broken-constituent.nix should exit with return code 0");
|
|
is(nrQueuedBuildsForJobset($jobset), 0, "Evaluating jobs/broken-constituent.nix should not queue any builds");
|
|
|
|
like(
|
|
$jobset->errormsg,
|
|
qr/^does-not-exist: does not exist$/m,
|
|
"Evaluating jobs/broken-constituent.nix should log an error for does-not-exist");
|
|
like(
|
|
$jobset->errormsg,
|
|
qr/^does-not-evaluate: error: assertion 'false' failed/m,
|
|
"Evaluating jobs/broken-constituent.nix should log an error for does-not-evaluate");
|
|
|
|
done_testing;
|