fix(test): try with print_sql
This commit is contained in:
parent
541f7c016d
commit
14d9c28eb7
3 changed files with 29 additions and 24 deletions
|
|
@ -267,7 +267,7 @@ def destroy():
|
|||
# memcache
|
||||
redis_server = None
|
||||
def cache():
|
||||
"""Returns memcache connection."""
|
||||
"""Returns redis connection."""
|
||||
global redis_server
|
||||
if not redis_server:
|
||||
from frappe.utils.redis_wrapper import RedisWrapper
|
||||
|
|
@ -290,6 +290,9 @@ def errprint(msg):
|
|||
|
||||
error_log.append({"exc": msg})
|
||||
|
||||
def print_sql(enable=True):
|
||||
return cache().set_value('print_sql', enable)
|
||||
|
||||
def log(msg):
|
||||
"""Add to `debug_log`.
|
||||
|
||||
|
|
|
|||
|
|
@ -134,6 +134,8 @@ class Database(object):
|
|||
if debug:
|
||||
time_start = time()
|
||||
|
||||
self.log_query(query, values, debug, explain)
|
||||
|
||||
if values!=():
|
||||
if isinstance(values, dict):
|
||||
values = dict(values)
|
||||
|
|
@ -142,41 +144,18 @@ class Database(object):
|
|||
if not isinstance(values, (dict, tuple, list)):
|
||||
values = (values,)
|
||||
|
||||
if debug and query.strip().lower().startswith('select'):
|
||||
try:
|
||||
if explain:
|
||||
self.explain_query(query, values)
|
||||
frappe.errprint(query % values)
|
||||
except TypeError:
|
||||
frappe.errprint([query, values])
|
||||
if (frappe.conf.get("logging") or False)==2:
|
||||
frappe.log("<<<< query")
|
||||
frappe.log(query)
|
||||
frappe.log("with values:")
|
||||
frappe.log(values)
|
||||
frappe.log(">>>>")
|
||||
self._cursor.execute(query, values)
|
||||
|
||||
if frappe.flags.in_migrate:
|
||||
self.log_touched_tables(query, values)
|
||||
|
||||
else:
|
||||
if debug:
|
||||
if explain:
|
||||
self.explain_query(query)
|
||||
frappe.errprint(query)
|
||||
if (frappe.conf.get("logging") or False)==2:
|
||||
frappe.log("<<<< query")
|
||||
frappe.log(query)
|
||||
frappe.log(">>>>")
|
||||
|
||||
self._cursor.execute(query)
|
||||
|
||||
if frappe.flags.in_migrate:
|
||||
self.log_touched_tables(query)
|
||||
|
||||
if debug:
|
||||
frappe.errprint(self._cursor.mogrify(query, values))
|
||||
time_end = time()
|
||||
frappe.errprint(("Execution time: {0} sec").format(round(time_end - time_start, 2)))
|
||||
|
||||
|
|
@ -213,6 +192,27 @@ class Database(object):
|
|||
else:
|
||||
return self._cursor.fetchall()
|
||||
|
||||
def log_query(self, query, values, debug, explain):
|
||||
# for debugging in tests
|
||||
if frappe.flags.in_test and frappe.cache().get_value('print_sql'):
|
||||
print(self._cursor.mogrify(query, values))
|
||||
|
||||
# debug
|
||||
if debug:
|
||||
if explain and query.strip().lower().startswith('select'):
|
||||
self.explain_query(query, values)
|
||||
frappe.errprint(self._cursor.mogrify(query, values))
|
||||
|
||||
# info
|
||||
if (frappe.conf.get("logging") or False)==2:
|
||||
frappe.log("<<<< query")
|
||||
frappe.log(query)
|
||||
if values:
|
||||
frappe.log("with values:")
|
||||
frappe.log(values)
|
||||
frappe.log(">>>>")
|
||||
|
||||
|
||||
def explain_query(self, query, values=None):
|
||||
"""Print `EXPLAIN` in error log."""
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -206,8 +206,10 @@ class TestEventProducer(unittest.TestCase):
|
|||
def test_inner_mapping(self):
|
||||
producer = get_remote_site()
|
||||
|
||||
frappe.print_sql(True)
|
||||
try:
|
||||
setup_event_producer_for_inner_mapping()
|
||||
frappe.print_sql(False)
|
||||
except frappe.TimestampMismatchError:
|
||||
# retry - event_producer keeps updating last_updated
|
||||
# so retry if it fails the first time due to a background event
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue