Changeset: 12dce161bf97 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=12dce161bf97 Added Files: sql/backends/monet5/Tests/shutdown.py sql/backends/monet5/Tests/shutdown.stable.err sql/backends/monet5/Tests/shutdown.stable.out Modified Files: sql/backends/monet5/Tests/All tools/mserver/Makefile.ag tools/mserver/shutdowntest.c Branch: default Log Message:
Added a test for in-process database restart. This just makes sure that new commits to the source repository don't mess up MonetDBLite, because otherwise in-process restarts are never tested. diffs (147 lines): diff --git a/sql/backends/monet5/Tests/All b/sql/backends/monet5/Tests/All --- a/sql/backends/monet5/Tests/All +++ b/sql/backends/monet5/Tests/All @@ -69,5 +69,6 @@ HAVE_LIBPY?pyloader07 simpleSQL limithack +shutdown HAVE_HGE?int_notation_1e5 diff --git a/sql/backends/monet5/Tests/shutdown.py b/sql/backends/monet5/Tests/shutdown.py new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/shutdown.py @@ -0,0 +1,15 @@ + +import os +import shutil + +bindir = os.getenv('TSTTRGBASE') +databasedir = os.getenv('TSTTRGDIR') +if databasedir == None: + exit() +databasedir = os.path.join(databasedir, 'SHUTDOWN_DATABASE') +if bindir == None: + os.system('shutdowntest "%s"' % databasedir) +else: + os.system(os.path.join(bindir, 'bin', 'shutdowntest') + ' "%s"' % databasedir) + +shutil.rmtree(databasedir) diff --git a/sql/backends/monet5/Tests/shutdown.stable.err b/sql/backends/monet5/Tests/shutdown.stable.err new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/shutdown.stable.err @@ -0,0 +1,12 @@ +stderr of test 'shutdown` in directory 'sql/backends/monet5` itself: + + +# 15:06:57 > +# 15:06:57 > "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python" "shutdown.py" "shutdown" +# 15:06:57 > + + +# 15:06:58 > +# 15:06:58 > "Done." +# 15:06:58 > + diff --git a/sql/backends/monet5/Tests/shutdown.stable.out b/sql/backends/monet5/Tests/shutdown.stable.out new file mode 100644 --- /dev/null +++ b/sql/backends/monet5/Tests/shutdown.stable.out @@ -0,0 +1,55 @@ +stdout of test 'shutdown` in directory 'sql/backends/monet5` itself: + + +# 15:06:57 > +# 15:06:57 > "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python" "shutdown.py" "shutdown" +# 15:06:57 > + +# MonetDB/SQL module loaded +# SQL catalog created, loading sql scripts once +# loading sql script: 09_like.sql +# loading sql script: 10_math.sql +# loading sql script: 11_times.sql +# loading sql script: 12_url.sql +# loading sql script: 13_date.sql +# loading sql script: 14_inet.sql +# loading sql script: 15_querylog.sql +# loading sql script: 16_tracelog.sql +# loading sql script: 17_temporal.sql +# loading sql script: 18_index.sql +# loading sql script: 20_vacuum.sql +# loading sql script: 21_dependency_functions.sql +# loading sql script: 22_clients.sql +# loading sql script: 23_skyserver.sql +# loading sql script: 25_debug.sql +# loading sql script: 26_sysmon.sql +# loading sql script: 27_rejects.sql +# loading sql script: 39_analytics.sql +# loading sql script: 39_analytics_hge.sql +# loading sql script: 40_json.sql +# loading sql script: 40_json_hge.sql +# loading sql script: 41_md5sum.sql +# loading sql script: 45_uuid.sql +# loading sql script: 46_profiler.sql +# loading sql script: 51_sys_schema_extension.sql +# loading sql script: 72_fits.sql +# loading sql script: 74_netcdf.sql +# loading sql script: 75_storagemodel.sql +# loading sql script: 80_statistics.sql +# loading sql script: 80_udf.sql +# loading sql script: 80_udf_hge.sql +# loading sql script: 90_generator.sql +# loading sql script: 90_generator_hge.sql +# loading sql script: 99_system.sql +.tables (id,name,schema_id,query,type,system,commit_action,access,temporary) +Successfully initialized MonetDB. +Successfully shutdown MonetDB. +# MonetDB/SQL module loaded +.tables (id,name,schema_id,query,type,system,commit_action,access,temporary) +Successfully restarted MonetDB. +sys.temporary_table (i) + +# 15:06:58 > +# 15:06:58 > "Done." +# 15:06:58 > + diff --git a/tools/mserver/Makefile.ag b/tools/mserver/Makefile.ag --- a/tools/mserver/Makefile.ag +++ b/tools/mserver/Makefile.ag @@ -53,6 +53,7 @@ bin_mserver5 = { } bin_shutdowntest = { + CONDINST = HAVE_TESTING SOURCES = shutdowntest.c LIBS = ../../monetdb5/tools/libmonetdb5 \ ../../gdk/libbat ../../common/stream/libstream \ diff --git a/tools/mserver/shutdowntest.c b/tools/mserver/shutdowntest.c --- a/tools/mserver/shutdowntest.c +++ b/tools/mserver/shutdowntest.c @@ -87,7 +87,7 @@ static void monetdb_disconnect(void* con } -static char* dbdir = "/tmp/dbfarm"; // FIXME +static char* dbdir; static str monetdb_initialize() { opt *set = NULL; @@ -278,9 +278,15 @@ static void monetdb_shutdown() { } } -int main() { +int main(int argc, char **argv) { str retval; Client c; + if (argc <= 1) { + printf("Usage: shutdowntest [testdir]\n"); + return -1; + } + dbdir = argv[1]; + retval = monetdb_initialize(); if (retval != MAL_SUCCEED) { printf("Failed first initialization: %s\n", retval); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list