Changeset: 6d577c78d00e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6d577c78d00e
Modified Files:
testing/sqltest.py
Branch: mtest
Log Message:
clean up fix output in sqltest
diffs (96 lines):
diff --git a/testing/sqltest.py b/testing/sqltest.py
--- a/testing/sqltest.py
+++ b/testing/sqltest.py
@@ -72,37 +72,22 @@ class SQLTestResult(object):
def __init__(self, test_case):
self.test_case = test_case
- def run_stmt(self, stmt):
- # ensure run only once
- if self.query is None:
- self.query = stmt
- try:
- with self.test_case.conn_ctx as ctx:
- ctx.crs.execute(stmt)
- self.rowcount = ctx.crs.rowcount
- self.rows = ctx.crs._rows
- except (pymonetdb.Error, ValueError) as e:
- self.query_error = e
- return self
-
- def run_query(self, query):
+ def run(self, query:str):
+ # ensure runs only once
if self.query is None:
self.query = query
try:
with self.test_case.conn_ctx as ctx:
ctx.crs.execute(query)
- self.data = ctx.crs.fetchall()
- self.description = ctx.crs.description
self.rowcount = ctx.crs.rowcount
- # maybe not needed
self.rows = ctx.crs._rows
+ if ctx.crs.description:
+ self.data = ctx.crs.fetchall()
+ self.description = ctx.crs.description
except (pymonetdb.Error, ValueError) as e:
self.query_error = e
return self
- def run(self, query:str):
- pass
-
def fail(self, msg):
self.assertion_errors.append(AssertionError(msg))
self.test_case.err(msg)
@@ -132,16 +117,17 @@ class SQLTestResult(object):
received = None
row = int(row)
col = int(col)
- if self.data[row]:
- if self.data[row][col]:
- received = self.data[row][col]
- if type(val) is type(recieved):
- if val != recived:
- msg = "{} \n expected {}, received {}".format(self.query, val,
received)
+ try:
+ received = self.data[row][col]
+ except IndexError:
+ pass
+ if type(val) is type(received):
+ if val != received:
+ msg = '{} \n expected "{}", received "{}" in row={},
col={}!'.format(self.query, val, received, row, col)
self.fail(msg)
else:
# handle type mismatch
- msg = "{}\n expeted type {} and {}, received type {} and {} in
row={}, col={} !".format(self.query, type(val), val, type(received), received,
row, col)
+ msg = '{}\n expected type {} and value "{}", received type {} and
value "{}" in row={}, col={}!'.format(self.query, type(val), str(val),
type(received), str(received), row, col)
self.fail(msg)
return self
@@ -192,22 +178,9 @@ class SQLTestCase():
def conn_ctx(self):
return self._conn_ctx or self.default_conn_ctx()
- def exec_statement(self, stmt:str):
- res = SQLTestResult(self)
- res.run_stmt(stmt)
- self.test_results.append(res)
- return res
-
- def exec_query(self, query:str):
+ def execute(self, query:str):
res = SQLTestResult(self)
- res.run_query(query)
- self.test_results.append(res)
- return res
-
- def execute(self, query:str):
- # maybe single call here
- res = SQLTestResult(self)
- res.run_query(query)
+ res.run(query)
self.test_results.append(res)
return res
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list