Split out dependent tests in to its own .t

[?]
Feb 23, 2021, 5:55 PM
3G475GRT37NX3C5DGLQMOZ6RPPFOWTAF7TJHZA6533WT73PDJ7EAC

Dependencies

  • [2] UIA3ULNU Give each test its own Nix directories
  • [3] S5NPXZG3 Fix indentation
  • [4] NZXX6PLD Remove the Jobs table
  • [5] WFJ3ZPRM add tests for scm inputs
  • [6] FAIJDQKZ
  • [7] RBZRCTAL hydra: fixed and re-enabled evaluation tests
  • [8] YDW2NUIW Fix "make check"
  • [9] SBKX3YH2 cleanup
  • [10] PY5GVGC7 Implemented quoted strings support in hydra-build-products to allow file names with spaces + testcase
  • [11] ZHBEOOUQ show evaluation errors in log of tests
  • [12] ABB3BIS2 Add eval test for specific git revision
  • [13] L7RW467Z Add a test for darcs inputs.
  • [14] HE3GX5IP Optimize fetch-git.
  • [15] 5SMQ2PLK Fix tests
  • [16] 3RL7VFKE Add tests for "git describe --long".
  • [17] HX4QYOYA add first evaluations tests
  • [18] W6J4PVRP remove debug statement
  • [19] OWRS526H Create an ephemeral PostgreSQL database per test
  • [*] G2ZB6464 first test, not yet in buildprocess

Change contents

  • file addition: evaluate-dependent-jobsets.t (----------)
    [21.73]
    use strict;
    use Cwd;
    use Setup;
    (my $datadir, my $pgsql) = test_init();
    require Hydra::Schema;
    require Hydra::Model::DB;
    use Test2::V0;
    my $db = Hydra::Model::DB->new;
    hydra_setup($db);
    # Test jobset with 2 jobs, one has parameter of succeeded build of the other
    my $jobset = createJobsetWithOneInput("build-output-as-input", "build-output-as-input.nix", "build1", "build", "build1");
    ok(evalSucceeds($jobset), "Evaluating jobs/build-output-as-input.nix should exit with return code 0");
    ok(nrQueuedBuildsForJobset($jobset) == 1 , "Evaluating jobs/build-output-as-input.nix for first time should result in 1 build in queue");
    for my $build (queuedBuildsForJobset($jobset)) {
    ok(runBuild($build), "Build '".$build->job."' from jobs/basic.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/basic.nix should have buildstatus 0");
    }
    ok(evalSucceeds($jobset), "Evaluating jobs/build-output-as-input.nix for second time should exit with return code 0");
    ok(nrQueuedBuildsForJobset($jobset) == 1 , "Evaluating jobs/build-output-as-input.nix for second time after building build1 should result in 1 build in queue");
    for my $build (queuedBuildsForJobset($jobset)) {
    ok(runBuild($build), "Build '".$build->job."' from jobs/basic.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/basic.nix should have buildstatus 0");
    }
    done_testing;
  • replacement in tests/evaluation.t at line 10
    [3.969][2.1238:1268]()
    use Test::Simple tests => 68;
    [3.969]
    [3.998]
    use Test::Simple tests => 60;
  • edit in tests/evaluation.t at line 22
    [3.1529][3.415:416](),[3.1157][3.415:416](),[3.1618][3.570:571](),[3.570][3.570:571](),[3.839][3.1823:2019](),[3.2019][3.1019:1020](),[3.1019][3.1019:1020](),[3.1020][3.2020:2278](),[3.2278][3.196:245](),[3.245][3.6974:7071](),[3.7071][3.487:550](),[3.487][3.487:550](),[3.550][3.7072:7210](),[3.353][3.538:540](),[3.694][3.538:540](),[3.7210][3.538:540](),[3.538][3.538:540]()
    # Test jobset with 2 jobs, one has parameter of succeeded build of the other
    $jobset = createJobsetWithOneInput("build-output-as-input", "build-output-as-input.nix", "build1", "build", "build1");
    ok(evalSucceeds($jobset), "Evaluating jobs/build-output-as-input.nix should exit with return code 0");
    ok(nrQueuedBuildsForJobset($jobset) == 1 , "Evaluating jobs/build-output-as-input.nix for first time should result in 1 build in queue");
    for my $build (queuedBuildsForJobset($jobset)) {
    ok(runBuild($build), "Build '".$build->job."' from jobs/basic.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/basic.nix should have buildstatus 0");
    }
  • edit in tests/evaluation.t at line 23
    [3.29][3.541:887](),[3.887][3.7211:7308](),[3.7308][3.798:861](),[3.798][3.798:861](),[3.861][3.7309:7447](),[3.496][3.1180:1182](),[3.1005][3.1180:1182](),[3.7447][3.1180:1182](),[3.1180][3.1180:1182]()
    ok(evalSucceeds($jobset), "Evaluating jobs/build-output-as-input.nix for second time should exit with return code 0");
    ok(nrQueuedBuildsForJobset($jobset) == 1 , "Evaluating jobs/build-output-as-input.nix for second time after building build1 should result in 1 build in queue");
    for my $build (queuedBuildsForJobset($jobset)) {
    ok(runBuild($build), "Build '".$build->job."' from jobs/basic.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/basic.nix should have buildstatus 0");
    }
  • edit in tests/evaluation.t at line 24
    [3.1680][3.1183:1184]()