diff --git a/configure.ac b/configure.ac index a7c8e31e..6506a355 100644 --- a/configure.ac +++ b/configure.ac @@ -64,6 +64,9 @@ AC_CONFIG_FILES([ src/script/hydra_queue_runner.pl src/script/hydra_server.pl src/script/hydra_update_gc_roots.pl + + tests/Makefile + tests/query-all-tables.pl ]) AC_OUTPUT diff --git a/deps.nix b/deps.nix index b533262f..329e0799 100644 --- a/deps.nix +++ b/deps.nix @@ -39,5 +39,6 @@ in perlPackages.DateTime perlPackages.DigestSHA1 perlPackages.CryptRandPasswd + perlPackages.TestMore nixPerl ] diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 00000000..f76201b7 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,8 @@ +TESTS = \ + query-all-tables.pl + +$(TESTS) : db.sqlite + +db.sqlite : $(srcdir)/src/sql/hydra-sqlite.sql + sqlite3 db.sqlite < $(srcdir)/src/sql/hydra-sqlite.sql + diff --git a/tests/query-all-tables.pl.in b/tests/query-all-tables.pl.in new file mode 100644 index 00000000..ddd315b6 --- /dev/null +++ b/tests/query-all-tables.pl.in @@ -0,0 +1,19 @@ +#! @perl@ -w -I@nix@/libexec/nix + +use strict; +use Hydra::Schema; +use Hydra::Helper::Nix; +use Hydra::Helper::AddBuilds; + +my $db = openHydraDB; + +my @sources = $db->sources; +my $nrtables = scalar(@sources); + +use Test::Simple tests => 62; + +foreach my $source (@sources) { + if( $source !~ m/^(LatestSucceeded|JobStatus|ActiveJobs)/) { + ok(scalar($db->resultset($source)->search({},{})) == 0, "Basic select query for $source"); + } +}