Update "make check" for the new queue runner
[?]
Jun 25, 2015, 1:29 PM
7VQ4ALFYKJBFR46T3WZDMGOXNRR3QNJEJQVBYJM4HSJUOOUD6WBQCDependencies
- [2]
RMQG4FT3make clean: Delete darcs-repo - [3]
2PPFPWQLFix test - [4]
5Q7X5FPJhydra-queue-runner: Improve SSH flags - [5]
7I7XHQAEFix sending notifications in the successful case - [6]
SODOV2CMAutomatically reload $NIX_REMOTE_SYSTEMS when it changes - [7]
HX4QYOYAadd first evaluations tests - [8]
Q5HZWFCYAdd support for darcs repositories. - [9]
FANTYCR7Materialize the number of finished builds - [10]
M2MAIY22Add bar with 1 - [11]
WKJFPR77hydra-queue-runner: Maintain count of active build steps - [12]
OB7GB5DLTest environment cleanups - [13]
GS4BE6TBAsynchronously compress build logs - [14]
PLOZBRTRAdd command ‘hydra-queue-runner --status’ to show current status - [15]
S5KKIQ3F* Remove accidentally commited foo/bar. - [16]
RQUAATWBAdd status dump facility - [17]
YZAI5GQUImplement a database connection pool - [18]
24BMQDZAStart of single-process hydra-queue-runner - [19]
A43SLRSHFix handling of IPC::Run::run exit status - [20]
QQQSXZWRremove debug target - [21]
PVBTVPKJnix needs env vars as absolute paths - [22]
HE3GX5IPOptimize fetch-git. - [23]
MESO2HDVRemove obsolete JobStatus source - [24]
K5G5GZY7Guard against concurrent invocations of hydra-queue-runner - [25]
O64P4XJSKeep per-machine stats - [26]
RBZRCTALhydra: fixed and re-enabled evaluation tests - [27]
P43FHUUVthere are 43 tests - [28]
OSZDLGMPadd target to make simple git/hg/svn inputs - [29]
L4AI5YL6Rename hydra_*.pl to hydra-* - [30]
S5NPXZG3Fix indentation - [31]
FQQRJUO4Mark builds as busy - [32]
WFJ3ZPRMadd tests for scm inputs - [33]
PBJJSE3Dmake sure jobs/* and Setup.pm is in tarball - [34]
LZVO64YGMerge in the first bits of the API work - [35]
L7RW467ZAdd a test for darcs inputs. - [36]
YL5OIJNQdisabled evaluation tests until i figure out why it fails in buildfarm and succeeds locally - [37]
DES4PSRLadd basic query tests for JobStatus/LatestSucceeded/ActiveJobs - [38]
JRVI4XTVtests: Use $(builddir) instead of `pwd`. - [39]
D6EL7KR6Fix broken test - [40]
I3TU2UJQ - [41]
FDHQ2OLBForgot to commit - [42]
2FT4LEIPRemove unused ActiveJobs source - [43]
JFD25IUUhydra-queue-runner: Implement --unlock - [44]
7RO7CINMsetup environment variables for tests - [45]
WHS5RMPO - [46]
5AIYUMTBBasic remote building - [47]
IWB3F4Z6Fail builds with previously failed steps early - [48]
YTJBF27Tset BZR_HOME env var so bzr won't fail - [49]
AK66K4KYFix the test - [50]
3XM2QEGWFix query-all-tables test count, there are more tables now - [51]
ZHBEOOUQshow evaluation errors in log of tests - [52]
XEQNMJ73Increase depth 0 - [53]
4HPT4SDDRevert "Remove now-unused SystemTypes table" - [54]
CKN4PV3JStupid brittle tests - [55]
WZ7PXAITDoh - [56]
DCHQR576add bzr-repo target - [57]
ZSBPKI2PPass ssh key - [58]
MB3TISH2Rate-limit the number of threads copying closures at the same time - [59]
N3KBVX6GSet $PERL5LIB properly in hydra-init in "make check" - [60]
QIW2WZKWFix indentation - [61]
YDW2NUIWFix "make check" - [62]
G2ZB6464first test, not yet in buildprocess - [63]
UGA45FNCAdd a plugin for backing up builds in s3 - [64]
E7FID72SRemove the BuildMachines and BuildMachinesSystemTypes tables - [65]
NJJ7H64SVery basic multi-threaded queue runner - [66]
FAIJDQKZ - [67]
PXUP3HRChydra: query-all-tables.pl.in, set executable - [68]
5SMQ2PLKFix tests - [69]
V2ALOFRRFix the test - [70]
JD7AWXQGRemove now-unused SystemTypes table - [*]
ENXUSMSVMake concurrency more robust - [*]
ATJ54SPXUse PostgreSQL notifications for queue events - [*]
QJRDO2B4Simplify retry handling - [*]
HUUZFPPKFix race between the queue monitor and the builder threads - [*]
63W4T5PUhydra-queue-runner: More stats
Change contents
- replacement in src/hydra-queue-runner/Makefile.am at line 3
hydra_queue_runner_SOURCES = hydra-queue-runner.cc build-result.cc build-remote.cchydra_queue_runner_SOURCES = hydra-queue-runner.cc build-result.cc build-remote.cc \build-remote.hh build-result.hh counter.hh pool.hh sync.hh token-server.hh - edit in src/hydra-queue-runner/build-remote.cc at line 22
static void append(Strings & dst, const Strings & src){dst.insert(dst.end(), src.begin(), src.end());} - replacement in src/hydra-queue-runner/build-remote.cc at line 48
// FIXME: connection timeoutsStrings argv({ "ssh", sshName, "-i", sshKey, "-x", "-a", "-oBatchMode=yes", "-oConnectTimeout=60", "-oTCPKeepAlive=yes", "--", "nix-store", "--serve", "--write" });Strings argv;if (sshName == "localhost")argv = {"nix-store", "--serve", "--write"};else {argv = {"ssh", sshName};if (sshKey != "" && sshKey != "-") append(argv, {"-i", sshKey});append(argv,{ "-x", "-a", "-oBatchMode=yes", "-oConnectTimeout=60", "-oTCPKeepAlive=yes", "--", "nix-store", "--serve", "--write" });} - replacement in src/hydra-queue-runner/build-remote.cc at line 59
execvp("ssh", (char * *) stringsToCharPtrs(argv).data()); // FIXME: remove castexecvp(argv.front().c_str(), (char * *) stringsToCharPtrs(argv).data()); // FIXME: remove cast - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 235
Sync<Machines> machines;Sync<Machines> machines; // FIXME: use atomic_shared_ptr - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 272
/* Specific build to do for --build-one (testing only). */BuildID buildOne; - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 348
void run();void run(BuildID buildOne = 0); - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 568
if (buildOne && id != buildOne) continue; - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1128
bool quit = build->id == buildOne; - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1197
if (quit) exit(1); - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1389
if (buildOne == b->id) quit = true; - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1410[76.527][74.2182]
if (quit) exit(0); // testing hack - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1707
void State::run()void State::run(BuildID buildOne) - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1710
this->buildOne = buildOne; - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1766
BuildID buildOne = 0; - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1773
elseelse if (*arg == "--build-one") {if (!string2Int<BuildID>(getArg(*arg, arg, end), buildOne))throw Error("‘--build-one’ requires a build ID");} else - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1791
state.run();state.run(buildOne); - file deletion: query-all-tables.pl.in query-all-tables.pl.in query-all-tables.pl[7.73]→[7.0:46](∅→∅),[7.46]→[7.291:291](∅→∅),[7.73]→[7.725:771](∅→∅),[7.771]→[7.291:291](∅→∅),[7.73]→[7.899:942](∅→∅),[7.942]→[7.291:291](∅→∅)
use strict;use Hydra::Schema;use Hydra::Model::DB;my $db = Hydra::Model::DB->new;my @sources = $db->schema->sources;my $nrtables = scalar(@sources);use Test::Simple tests => 38;foreach my $source (@sources) {my $title = "Basic select query for $source";if ($source eq "SchemaVersion" || $source eq "NrBuilds") {ok(scalar($db->resultset($source)->all) == 1, $title);} elsif( $source !~ m/^LatestSucceeded/) {ok(scalar($db->resultset($source)->all) == 0, $title);} else {ok(scalar($db->resultset($source)->search({},{ bind => ["", "", ""] })) == 0, $title);}} - replacement in tests/Makefile.am at line 3
HYDRA_DBI="dbi:SQLite:db.sqlite" \HYDRA_DBI="dbi:Pg:dbname=hydra-test-suite;" \ - replacement in tests/Makefile.am at line 25[7.103]→[7.118:164](∅→∅),[7.45]→[7.428:429](∅→∅),[7.164]→[7.428:429](∅→∅),[7.428]→[7.428:429](∅→∅),[7.429]→[7.3550:3557](∅→∅),[7.3557]→[7.25:51](∅→∅),[7.437]→[7.25:51](∅→∅),[7.51]→[2.0:122](∅→∅),[2.122]→[7.3558:3574](∅→∅),[7.157]→[7.3558:3574](∅→∅)
query-all-tables.pl \evaluation-tests.plclean:chmod -R a+w nix || truerm -rf db.sqlite data nix git-repo hg-repo svn-repo svn-checkout svn-checkout-repo bzr-repo bzr-checkout-repo darcs-reporm -f .*-stateset-up.pl \evaluation-tests.pl \tear-down.pl - replacement in tests/Makefile.am at line 29
check_SCRIPTS = db.sqlite reposcheck_SCRIPTS = repos - replacement in tests/Setup.pm at line 74
my ($res, $stdout, $stderr) = captureStdoutStderr(60, ("hydra-build", $build->id));print "STDERR: $stderr" if $stderr ne "";my ($res, $stdout, $stderr) = captureStdoutStderr(60, ("hydra-queue-runner", "-vvvv", "--build-one", $build->id)); - file move: evaluation-tests.pl → evaluation-tests.pl
- replacement in tests/evaluation-tests.pl at line 31
my $expected = $build->job->name eq "fails" ? 1 : 0;my $expected = $build->job->name eq "fails" ? 1 : $build->job->name =~ /with_failed/ ? 6 : 0; - file move: s3-backup-test.pl → s3-backup-test.pl
- file addition: set-up.pl[7.73]
use strict;system("createdb hydra-test-suite") == 0 or die;system("hydra-init") == 0 or die; - file addition: tear-down.pl[7.73]
use strict;system("chmod -R a+w nix") == 0 or die;system("rm -rf data nix git-repo hg-repo svn-repo svn-checkout svn-checkout-repo bzr-repo bzr-checkout-repo darcs-repo") == 0 or die;system("rm -f .*-state") == 0 or die;system("dropdb hydra-test-suite") == 0 or die;