Changeset: 87a543e0e6f3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/87a543e0e6f3
Modified Files:
sql/test/BugTracker-2020/Tests/remote-table-like.Bug-6841.py
Branch: default
Log Message:
If test fails, report server output.
diffs (100 lines):
diff --git a/sql/test/BugTracker-2020/Tests/remote-table-like.Bug-6841.py
b/sql/test/BugTracker-2020/Tests/remote-table-like.Bug-6841.py
--- a/sql/test/BugTracker-2020/Tests/remote-table-like.Bug-6841.py
+++ b/sql/test/BugTracker-2020/Tests/remote-table-like.Bug-6841.py
@@ -32,46 +32,55 @@ with tempfile.TemporaryDirectory() as fa
dbfarm=os.path.join(farm_dir, 'node2'),
stdin=process.PIPE, stdout=process.PIPE,
stderr=process.PIPE) as node2_proc:
- node2_conn = pymonetdb.connect(database=node2_proc.usock or
'node2', port=node2_proc.dbport, autocommit=True)
- node2_cur = node2_conn.cursor()
+ try:
+ node2_conn = pymonetdb.connect(database=node2_proc.usock or
'node2', port=node2_proc.dbport, autocommit=True)
+ node2_cur = node2_conn.cursor()
- node2_cur.execute("create remote table remote_data (id int, name
varchar(2048)) on
'mapi:monetdb://localhost:{}/node1/sys/remote_data'".format(node1_proc.dbport))
- node2_cur.execute("select * from remote_data")
- if node2_cur.fetchall() != [(1, 'Name 1')]:
- sys.stderr.write("Just row (1, 'Name 1') expected")
- node2_cur.execute("select * from remote_data where name like 'N%'")
- if node2_cur.fetchall() != [(1, 'Name 1')]:
- sys.stderr.write("Just row (1, 'Name 1') expected")
- node2_cur.execute("select rank() over () from remote_data where
name like 'N%'")
- if node2_cur.fetchall() != [(1,)]:
- sys.stderr.write("Just row (1,) expected")
- node2_cur.execute("select name like 'N%' from remote_data")
- if node2_cur.fetchall() != [(True,)]:
- sys.stderr.write("Just row (True,) expected")
- node2_cur.execute("select corr(1,1) from remote_data")
- if node2_cur.fetchall() != [(None,)]:
- sys.stderr.write("Just row (None,) expected")
- node2_cur.execute("select corr(1,1) over () from remote_data")
- if node2_cur.fetchall() != [(None,)]:
- sys.stderr.write("Just row (None,) expected")
- node2_cur.execute("select count(*) over (), max(name) over (),
min(name) over (partition by name order by name rows between 3 preceding and 2
preceding) from remote_data")
- if node2_cur.fetchall() != [(1, 'Name 1', None)]:
- sys.stderr.write("Just row (1, 'Name 1', None) expected")
- node2_cur.execute("""select case when id = 1 then 2 when id = 2
then 10 when id = 3 then 3 else 100 end, nullif(id, id), coalesce(id, id + 10,
10),
- case id when 1 then 5 when 2 then 10
when 3 then 60 else 4 end, greatest(id - 7, id + 7), lead(1,1,1) over () from
remote_data""")
- if node2_cur.fetchall() != [(2, None, 1, 5, 8, 1)]:
- sys.stderr.write("Just row (2, None, 1, 5, 8, 1) expected")
- node2_cur.execute("create function \"myfunc\"(\"myarg\" int)
returns int return \"myarg\";")
- try:
- node2_cur.execute("select \"myfunc\"(1) from remote_data")
- sys.stderr.write("Exception expected")
- except pymonetdb.DatabaseError as e:
- pass
+ node2_cur.execute("create remote table remote_data (id int,
name varchar(2048)) on
'mapi:monetdb://localhost:{}/node1/sys/remote_data'".format(node1_proc.dbport))
+ node2_cur.execute("select * from remote_data")
+ if node2_cur.fetchall() != [(1, 'Name 1')]:
+ sys.stderr.write("Just row (1, 'Name 1') expected")
+ node2_cur.execute("select * from remote_data where name like
'N%'")
+ if node2_cur.fetchall() != [(1, 'Name 1')]:
+ sys.stderr.write("Just row (1, 'Name 1') expected")
+ node2_cur.execute("select rank() over () from remote_data
where name like 'N%'")
+ if node2_cur.fetchall() != [(1,)]:
+ sys.stderr.write("Just row (1,) expected")
+ node2_cur.execute("select name like 'N%' from remote_data")
+ if node2_cur.fetchall() != [(True,)]:
+ sys.stderr.write("Just row (True,) expected")
+ node2_cur.execute("select corr(1,1) from remote_data")
+ if node2_cur.fetchall() != [(None,)]:
+ sys.stderr.write("Just row (None,) expected")
+ node2_cur.execute("select corr(1,1) over () from remote_data")
+ if node2_cur.fetchall() != [(None,)]:
+ sys.stderr.write("Just row (None,) expected")
+ node2_cur.execute("select count(*) over (), max(name) over (),
min(name) over (partition by name order by name rows between 3 preceding and 2
preceding) from remote_data")
+ if node2_cur.fetchall() != [(1, 'Name 1', None)]:
+ sys.stderr.write("Just row (1, 'Name 1', None) expected")
+ node2_cur.execute("""select case when id = 1 then 2 when id =
2 then 10 when id = 3 then 3 else 100 end, nullif(id, id), coalesce(id, id +
10, 10),
+ case id when 1 then 5 when 2 then
10 when 3 then 60 else 4 end, greatest(id - 7, id + 7), lead(1,1,1) over ()
from remote_data""")
+ if node2_cur.fetchall() != [(2, None, 1, 5, 8, 1)]:
+ sys.stderr.write("Just row (2, None, 1, 5, 8, 1) expected")
+ node2_cur.execute("create function \"myfunc\"(\"myarg\" int)
returns int return \"myarg\";")
+ try:
+ node2_cur.execute("select \"myfunc\"(1) from remote_data")
+ sys.stderr.write("Exception expected")
+ except pymonetdb.DatabaseError as e:
+ pass
- # cleanup: shutdown the monetdb servers and remove tempdir
- node1_cur.close()
- node1_conn.close()
- node2_cur.close()
- node2_conn.close()
- node1_proc.communicate()
- node2_proc.communicate()
+ # cleanup: shutdown the monetdb servers and remove tempdir
+ node1_cur.close()
+ node1_conn.close()
+ node2_cur.close()
+ node2_conn.close()
+ except pymonetdb.Error:
+ out1, err1 = node1_proc.communicate()
+ out2, err2 = node2_proc.communicate()
+ print(f'node1 output:\n{out1}\n')
+ print(f'node2 output:\n{out2}\n')
+ print(f'node1 error:\n{err1}\n', file=sys.stderr)
+ print(f'node2 error:\n{err2}\n', file=sys.stderr)
+ else:
+ node1_proc.communicate()
+ node2_proc.communicate()
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]