notifications.t: move to makeAndEvaluateJobset
[?]
Dec 15, 2021, 1:41 AM
3DNFPPSLMAWLZFDXL4QIANI7AFGESDIHQLGD4Z2QWX2GETESPHKQCDependencies
- [2]
2AM7IAS5Tighten up 'should exit with return code' - [3]
HWGFAF2Bqueue runner: test notifications - [4]
LNUINAZCJSON -> JSON::MaybeXS
Change contents
- edit in t/queue-runner/notifications.t at line 1
use feature 'unicode_strings'; - edit in t/queue-runner/notifications.t at line 5
use Test2::V0; - replacement in t/queue-runner/notifications.t at line 9
my %ctx = test_init(my $ctx = test_context( - edit in t/queue-runner/notifications.t at line 20
require Hydra::Schema;require Hydra::Model::DB; - edit in t/queue-runner/notifications.t at line 21
use Test2::V0; - replacement in t/queue-runner/notifications.t at line 23
## - replacement in t/queue-runner/notifications.t at line 39
my $outlink = "$ctx{tmpdir}/basic-canbesubstituted";is(system("nix-build '${ctx{jobsdir}}/notifications.nix' -A canbesubstituted --out-link '${outlink}'"), 0, "Building notifications.nix succeeded");my $outlink = $ctx->tmpdir . "/basic-canbesubstituted";is(system("nix-build '" . $ctx->jobsdir . "/notifications.nix' -A canbesubstituted --out-link '${outlink}'"), 0, "Building notifications.nix succeeded"); - replacement in t/queue-runner/notifications.t at line 43
- replacement in t/queue-runner/notifications.t at line 53
my $outlink = "$ctx{tmpdir}/basic-canbesubstituted";is(system("nix-build '${ctx{jobsdir}}/notifications.nix' -A canbesubstituted --max-jobs 0 --out-link '${outlink}'"), 0, "Building notifications.nix succeeded");my $outlink = $ctx->tmpdir . "/basic-canbesubstituted";is(system("nix-build '" . $ctx->jobsdir . "/notifications.nix' -A canbesubstituted --max-jobs 0 --out-link '${outlink}'"), 0, "Building notifications.nix succeeded"); - edit in t/queue-runner/notifications.t at line 66
my $db = Hydra::Model::DB->new;hydra_setup($db); - replacement in t/queue-runner/notifications.t at line 67
my $jobset = createBaseJobset("queue-runner-notifs", "notifications.nix", $ctx{jobsdir});my $db = $ctx->db(); - replacement in t/queue-runner/notifications.t at line 74
subtest "Evaluation of the jobset" => sub {ok(evalSucceeds($jobset), "Evaluation should exit with return code 0");is(nrQueuedBuildsForJobset($jobset), 2, "Evaluation should result in 2 builds");};my @builds = queuedBuildsForJobset($jobset);my $builds = $ctx->makeAndEvaluateJobset(expression => "notifications.nix",build => 1); - replacement in t/queue-runner/notifications.t at line 80
my ($build) = grep { $_->nixname eq "can-be-substituted" } @builds;ok(runBuild($build), "Build should exit with return code 0");my $build = $builds->{"canbesubstituted"}; - replacement in t/queue-runner/notifications.t at line 82
my $newbuild = $db->resultset('Builds')->find($build->id);is($newbuild->finished, 1, "Build should be finished.");is($newbuild->buildstatus, 0, "Build should have buildstatus 0.");is($build->finished, 1, "Build should be finished.");is($build->buildstatus, 0, "Build should have buildstatus 0."); - replacement in t/queue-runner/notifications.t at line 87
isnt($newbuild->notificationpendingsince, undef, "The build has a pending notification");isnt($build->notificationpendingsince, undef, "The build has a pending notification"); - replacement in t/queue-runner/notifications.t at line 97[3.4774]→[3.4774:4843](∅→∅),[3.4843]→[2.746:812](∅→∅),[2.812]→[3.4902:5098](∅→∅),[3.4902]→[3.4902:5098](∅→∅)
my ($build) = grep { $_->nixname eq "unsubstitutable" } @builds;ok(runBuild($build), "Build should exit with return code 0");my $newbuild = $db->resultset('Builds')->find($build->id);is($newbuild->finished, 1, "Build should be finished.");is($newbuild->buildstatus, 0, "Build should have buildstatus 0.");my $build = $builds->{"unsubstitutable"};is($build->finished, 1, "Build should be finished.");is($build->buildstatus, 0, "Build should have buildstatus 0."); - replacement in t/queue-runner/notifications.t at line 103
isnt($newbuild->notificationpendingsince, undef, "The build has a pending notification");isnt($build->notificationpendingsince, undef, "The build has a pending notification");