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

Reply via email to