Changeset: 809c1bbab4e7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=809c1bbab4e7
Added Files:
        sql/test/configurable_rss/Tests/no_cap_rss_32.py.src
        sql/test/configurable_rss/Tests/no_cap_rss_64.py.src
        sql/test/configurable_rss/Tests/rss.py
Removed Files:
        sql/test/configurable_rss/Tests/cap_rss.py
        sql/test/configurable_rss/Tests/no_cap_rss.sql
        sql/test/configurable_rss/Tests/no_cap_rss_32.sql
        sql/test/configurable_rss/Tests/no_cap_rss_64.sql.src
Modified Files:
        sql/test/configurable_rss/Tests/cap_rss_32.py.src
        sql/test/configurable_rss/Tests/cap_rss_64.py.src
        sql/test/configurable_rss/Tests/cap_rss_64.stable.out
        sql/test/configurable_rss/Tests/no_cap_rss_64.stable.out
Branch: config_rss
Log Message:

Base all rss tests on a single configurable Python script.


diffs (201 lines):

diff --git a/sql/test/configurable_rss/Tests/cap_rss_32.py.src 
b/sql/test/configurable_rss/Tests/cap_rss_32.py.src
--- a/sql/test/configurable_rss/Tests/cap_rss_32.py.src
+++ b/sql/test/configurable_rss/Tests/cap_rss_32.py.src
@@ -1,1 +1,1 @@
-$RELSRCDIR/cap_rss.py
+$RELSRCDIR/rss.py
diff --git a/sql/test/configurable_rss/Tests/cap_rss_64.py.src 
b/sql/test/configurable_rss/Tests/cap_rss_64.py.src
--- a/sql/test/configurable_rss/Tests/cap_rss_64.py.src
+++ b/sql/test/configurable_rss/Tests/cap_rss_64.py.src
@@ -1,1 +1,1 @@
-$RELSRCDIR/cap_rss.py
+$RELSRCDIR/rss.py
diff --git a/sql/test/configurable_rss/Tests/cap_rss_64.stable.out 
b/sql/test/configurable_rss/Tests/cap_rss_64.stable.out
--- a/sql/test/configurable_rss/Tests/cap_rss_64.stable.out
+++ b/sql/test/configurable_rss/Tests/cap_rss_64.stable.out
@@ -23,7 +23,7 @@ stdout of test 'cap_rss_64` in directory
 #end;
 #select getrss() < 20000 as resident_set_size_is_less_then_20kbytes, 
quantile(c/a, 0.8) * 0  from test;
 % .L2, sys.L6 # table_name
-% resident_set_size_is_less_then_20kbytes,     L6 # name
+% resident_set_size_is_less_then_20000_kb,     L6 # name
 % boolean,     double # type
 % 5,   24 # length
 [ true,        0       ]
diff --git a/sql/test/configurable_rss/Tests/no_cap_rss.sql 
b/sql/test/configurable_rss/Tests/no_cap_rss.sql
deleted file mode 100644
--- a/sql/test/configurable_rss/Tests/no_cap_rss.sql
+++ /dev/null
@@ -1,26 +0,0 @@
-create function getrss() 
-returns bigint external name status.rss_cursize;
-
-create table test(a int, b int, c double);
-
-insert into test values (1, 0, 1);
-
-create procedure loop_insert(maximum_size bigint)
-begin
-    declare size bigint;
-    set size = (select count(*) from test);
-
-    while size < maximum_size do
-        insert into test (select a+1, b+2, rand()*c from test);
-
-        set size = (select count(*) from test);
-    end while;
-end;
-
-call loop_insert(1000000);
-
--- it seems that it requires an analytical query to keep memory in ram.
-select getrss() > 20000 as resident_set_size_is_bigger_then_20kbytes, 
quantile(c/a, 0.8) * 0 from test;
-
-drop table test cascade;
-drop function getrss;
diff --git a/sql/test/configurable_rss/Tests/no_cap_rss_64.sql.src 
b/sql/test/configurable_rss/Tests/no_cap_rss_32.py.src
rename from sql/test/configurable_rss/Tests/no_cap_rss_64.sql.src
rename to sql/test/configurable_rss/Tests/no_cap_rss_32.py.src
--- a/sql/test/configurable_rss/Tests/no_cap_rss_64.sql.src
+++ b/sql/test/configurable_rss/Tests/no_cap_rss_32.py.src
@@ -1,1 +1,1 @@
-$RELSRCDIR/no_cap_rss.sql
+$RELSRCDIR/rss.py
diff --git a/sql/test/configurable_rss/Tests/no_cap_rss_32.sql 
b/sql/test/configurable_rss/Tests/no_cap_rss_32.sql
deleted file mode 100644
--- a/sql/test/configurable_rss/Tests/no_cap_rss_32.sql
+++ /dev/null
@@ -1,26 +0,0 @@
-create function getrss() 
-returns bigint external name status.rss_cursize;
-
-create table test(a int, b int, c double);
-
-insert into test values (1, 0, 1);
-
-create procedure loop_insert(maximum_size bigint)
-begin
-    declare size bigint;
-    set size = (select count(*) from test);
-
-    while size < maximum_size do
-        insert into test (select a+1, b+2, rand()*c from test);
-
-        set size = (select count(*) from test);
-    end while;
-end;
-
-call loop_insert(1000000);
-
--- it seems that it requires an analytical query to keep memory in ram.
-select getrss() as resident_set_size, quantile(c/a, 0.8) * 0 from test;
-
-drop table test cascade;
-drop function getrss;
diff --git a/sql/test/configurable_rss/Tests/no_cap_rss_64.sql.src 
b/sql/test/configurable_rss/Tests/no_cap_rss_64.py.src
copy from sql/test/configurable_rss/Tests/no_cap_rss_64.sql.src
copy to sql/test/configurable_rss/Tests/no_cap_rss_64.py.src
--- a/sql/test/configurable_rss/Tests/no_cap_rss_64.sql.src
+++ b/sql/test/configurable_rss/Tests/no_cap_rss_64.py.src
@@ -1,1 +1,1 @@
-$RELSRCDIR/no_cap_rss.sql
+$RELSRCDIR/rss.py
diff --git a/sql/test/configurable_rss/Tests/no_cap_rss_64.stable.out 
b/sql/test/configurable_rss/Tests/no_cap_rss_64.stable.out
--- a/sql/test/configurable_rss/Tests/no_cap_rss_64.stable.out
+++ b/sql/test/configurable_rss/Tests/no_cap_rss_64.stable.out
@@ -1,27 +1,9 @@
 stdout of test 'no_cap_rss_64` in directory 'sql/test/configurable_rss` itself:
 
 
-# 16:57:25 >  
-# 16:57:25 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=32503" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=C:\Users\aris\monetdb-installation\var\MonetDB\mTests_sql_test_configurable_rss"
 "--set" "embedded_c=true"
-# 16:57:25 >  
-
-# MonetDB 5 server v11.29.4
-# This is an unreleased version
-# Serving database 'mTests_sql_test_configurable_rss', using 2 threads
-# Compiled for x86_64-pc-winnt/64bit
-# Found 8.000 GiB available main-memory.
-# Copyright (c) 1993 - July 2008 CWI.
-# Copyright (c) August 2008 - 2018 MonetDB B.V., all rights reserved
-# Visit https://www.monetdb.org/ for further information
-# Listening for connection requests on mapi:monetdb://DESKTOP-J5OE0E3:32503/
-# MonetDB/GIS module loaded
-# MonetDB/SQL module loaded
-
-Ready.
-
-# 16:57:25 >  
-# 16:57:25 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=DESKTOP-J5OE0E3" "--port=32503"
-# 16:57:25 >  
+# 13:48:01 >  
+# 13:48:01 >  "C:\Python27\python.exe" "no_cap_rss_64.py" "no_cap_rss_64"
+# 13:48:01 >  
 
 #create function getrss() 
 #returns bigint external name status.rss_cursize;
@@ -41,7 +23,7 @@ Ready.
 #end;
 #select getrss() > 20000 as resident_set_size_is_bigger_then_20kbytes, 
quantile(c/a, 0.8) * 0 from test;
 % .L2, sys.L6 # table_name
-% resident_set_size_is_bigger_then_20kbytes,   L6 # name
+% resident_set_size_is_bigger_then_20000_kb,   L6 # name
 % boolean,     double # type
 % 5,   24 # length
 [ true,        0       ]
diff --git a/sql/test/configurable_rss/Tests/cap_rss.py 
b/sql/test/configurable_rss/Tests/rss.py
rename from sql/test/configurable_rss/Tests/cap_rss.py
rename to sql/test/configurable_rss/Tests/rss.py
--- a/sql/test/configurable_rss/Tests/cap_rss.py
+++ b/sql/test/configurable_rss/Tests/rss.py
@@ -5,11 +5,14 @@ except ImportError:
     import process
 
 class RSSTestConfig:
+    CAPPED = True
 
     # CAUTION: switch implementation without default.
     test_2_gdk_mem_maxsize = {
-        "cap_rss_64" : 20000000,
-        "cap_rss_32" : 10000000
+        "cap_rss_64" : (20000000,CAPPED),
+        "cap_rss_32" : (10000000,CAPPED),
+        "no_cap_rss_64" : (20000000,not CAPPED),
+        "no_cap_rss_32" : (10000000,not CAPPED)
     }
 
     sql_template = \
@@ -36,20 +39,29 @@ end;
 call loop_insert(1000000);
 
 -- it seems that it requires an analytical query to keep memory in ram.
-select getrss() < {0} as resident_set_size_is_less_then_{0}_kB, quantile(c/a, 
0.8) * 0  from test;
+select getrss() {compare_sign} {cap_in_kB} as 
resident_set_size_is_{compare_string}_then_{cap_in_kB}_kB, quantile(c/a, 0.8) * 
0  from test;
 
 drop table test cascade;
 drop function getrss;
 """
 
     def __init__(self, test):
-        self.rss_max_in_Bytes = RSSTestConfig.test_2_gdk_mem_maxsize[test]
+        self.rss_max_in_Bytes, self.is_capped = 
RSSTestConfig.test_2_gdk_mem_maxsize[test]
 
     def prepare_server_options(self):
-        return ["--set", "gdk_mem_maxsize={}".format(self.rss_max_in_Bytes)]
+        return ["--set", "gdk_mem_maxsize={}".format(self.rss_max_in_Bytes)] 
if self.is_capped else []
+
+    def get_template_parameters(self):
+
+        compare_sign, compare_string = ("<", "less") if self.is_capped else 
(">", "bigger")
+
+        return (self.rss_max_in_Bytes / 1000, compare_sign, compare_string)
+
 
     def prepare_sql_script(self):
-            return RSSTestConfig.sql_template.format(self.rss_max_in_Bytes / 
1000)
+            cap_in_kB, compare_sign, compare_string = 
self.get_template_parameters()
+
+            return RSSTestConfig.sql_template.format(cap_in_kB=cap_in_kB, 
compare_sign=compare_sign, compare_string=compare_string)
 
 def build_test_config():
         test = sys.argv[1]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to