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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org