Changeset: 01aef0406052 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/01aef0406052
Added Files:
sql/backends/monet5/Tests/rapi09a.test
Modified Files:
sql/backends/monet5/Tests/All
sql/backends/monet5/Tests/rapi09.test
testing/Mtest.py.in
Branch: Jan2022
Log Message:
Split off test that only works with older R versions.
diffs (78 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
@@ -9,6 +9,7 @@ HAVE_LIBR&NOT_WIN32?rapi06
HAVE_LIBR&NOT_WIN32?rapi07
#HAVE_LIBR&NOT_WIN32?rapi08
HAVE_LIBR&NOT_WIN32?rapi09
+HAVE_LIBR&NOT_WIN32&R_VERSION<4.2.0?rapi09a
HAVE_LIBR&NOT_WIN32?rapi10
HAVE_LIBR&NOT_WIN32?rapi12
HAVE_LIBR&NOT_WIN32?rapi13
diff --git a/sql/backends/monet5/Tests/rapi09.test
b/sql/backends/monet5/Tests/rapi09.test
--- a/sql/backends/monet5/Tests/rapi09.test
+++ b/sql/backends/monet5/Tests/rapi09.test
@@ -63,18 +63,6 @@ SELECT * FROM suicide2()
statement ok
ROLLBACK
-statement ok
-START TRANSACTION
-
-statement ok
-CREATE FUNCTION suicide3() RETURNS TABLE (i integer) LANGUAGE R
{.Internal(quit("no", 0,F))}
-
-statement error
-SELECT * FROM suicide3()
-
-statement ok
-ROLLBACK
-
query I rowsort
SELECT 1
----
diff --git a/sql/backends/monet5/Tests/rapi09a.test
b/sql/backends/monet5/Tests/rapi09a.test
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/Tests/rapi09a.test
@@ -0,0 +1,17 @@
+statement ok
+START TRANSACTION
+
+statement ok
+CREATE FUNCTION suicide3() RETURNS TABLE (i integer) LANGUAGE R
{.Internal(quit("no", 0,F))}
+
+statement error
+SELECT * FROM suicide3()
+
+statement ok
+ROLLBACK
+
+query I rowsort
+SELECT 1
+----
+1
+
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2027,6 +2027,19 @@ def RunTest(env, TST, COND, oktests, len
break
if reason is not None:
break
+ elif cond.startswith('R_VERSION<'):
+ rversion = os.path.join('@LIBR_INCLUDE_DIRS@', 'Rversion.h')
+ if os.path.exists(rversion):
+ with openutf8(rversion, 'r') as f:
+ res = re.search('#define R_VERSION (?P<rversion>\d+)',
f.read())
+ if res is not None:
+ r_version = res.group('rversion')
+ req_version = cond[10:].split('.')
+ req_version = int(req_version[0]) * 65536 +
int(req_version[1]) * 256 + int(req_version[2])
+ if int(r_version) >= req_version:
+ reason = "R version too high"
+ elem = SkipTest(env, TST, EXT, reason, length)
+ break
elif cond not in CONDITIONALS:
reason = "as conditional '%s' is unknown." % cond
elem = SkipTest(env, TST, EXT, reason, length)
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]