Tests: build-products: use `is` for good errors on failures

[?]
Feb 23, 2021, 7:44 PM
4OLBA6TUXVXJJVY2ZRO34W2QC7KCZAHL6ZG22DP5562KOJBTSIQQC

Dependencies

  • [2] NZXX6PLD Remove the Jobs table
  • [3] ZTYKNDOL Move tests for SCM inputs in to its own .t
  • [4] 3RL7VFKE Add tests for "git describe --long".
  • [5] S5NPXZG3 Fix indentation
  • [6] PY5GVGC7 Implemented quoted strings support in hydra-build-products to allow file names with spaces + testcase
  • [7] HE3GX5IP Optimize fetch-git.
  • [*] HX4QYOYA add first evaluations tests

Change contents

  • replacement in tests/build-products.t at line 20
    [3.313][3.313:534]()
    ok(evalSucceeds($jobset), "Evaluating jobs/build-products.nix should exit with return code 0");
    ok(nrQueuedBuildsForJobset($jobset) == 2 , "Evaluating jobs/build-products.nix should result in 2 builds");
    [3.313]
    [3.534]
    ok(evalSucceeds($jobset), "Evaluating jobs/build-products.nix should exit with return code 0");
    is(nrQueuedBuildsForJobset($jobset), 2, "Evaluating jobs/build-products.nix should result in 2 builds");
  • replacement in tests/build-products.t at line 24
    [3.584][2.7448:7554](),[2.7554][3.696:759](),[3.696][3.696:759](),[3.759][2.7555:7702]()
    ok(runBuild($build), "Build '".$build->job."' from jobs/build-products.nix should exit with code 0");
    my $newbuild = $db->resultset('Builds')->find($build->id);
    ok($newbuild->finished == 1 && $newbuild->buildstatus == 0, "Build '".$build->job."' from jobs/build-products.nix should have buildstatus 0");
    [3.584]
    [2.7702]
    subtest "For the build job '" . $build->job . "'" => sub {
    ok(runBuild($build), "Build should exit with code 0");
    my $newbuild = $db->resultset('Builds')->find($build->id);
    is($newbuild->finished, 1, "Build should have finished");
    is($newbuild->buildstatus, 0, "Build should have buildstatus 0");
    my $buildproducts = $db->resultset('BuildProducts')->search({ build => $build->id });
    my $buildproduct = $buildproducts->next;
  • replacement in tests/build-products.t at line 34
    [2.7703][3.917:1052](),[3.917][3.917:1052]()
    my $buildproducts = $db->resultset('BuildProducts')->search({ build => $build->id });
    my $buildproduct = $buildproducts->next;
    [2.7703]
    [2.7704]
    if($build->job eq "simple") {
    is($buildproduct->name, "text.txt", "We should have \"text.txt\"");
    } elsif ($build->job eq "with_spaces") {
    is($buildproduct->name, "some text.txt", "We should have: \"some text.txt\"");
    }
    };
  • edit in tests/build-products.t at line 41
    [2.7705][2.7705:7739](),[2.7739][3.1097:1209](),[3.1097][3.1097:1209](),[3.1209][2.7740:7785](),[2.7785][3.1260:1387](),[3.1260][3.1260:1387](),[3.1387][3.2218:2224](),[3.2218][3.2218:2224]()
    if($build->job eq "simple") {
    ok($buildproduct->name eq "text.txt", "We should have text.txt, but found: ".$buildproduct->name."\n");
    } elsif ($build->job eq "with_spaces") {
    ok($buildproduct->name eq "some text.txt", "We should have: \"some text.txt\", but found: ".$buildproduct->name."\n");
    }