From 9ee2f186ca1008f1a75c6e640bbdcad91e262673 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Fri, 20 Sep 2013 12:36:18 -0400 Subject: [PATCH] Add queries_captured() context manager for tests. (imported from commit 14a9529aef057e79bc12c979d88b595828a8b3a3) --- zerver/tests.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/zerver/tests.py b/zerver/tests.py index 9a20c815df..2971df866a 100644 --- a/zerver/tests.py +++ b/zerver/tests.py @@ -28,6 +28,7 @@ from zerver.forms import not_mit_mailing_list import base64 from django.conf import settings +from django.db import connection import os import random import re @@ -50,6 +51,19 @@ def tornado_redirected_to_list(lst): yield tornado_callbacks.process_event = real_tornado_callbacks_process_event +@contextmanager +def queries_captured(): + ''' + Allow a user to capture just the queries executed during + the with statement. + ''' + old_settings = settings.DEBUG + settings.DEBUG = True + connection.queries = [] + yield connection.queries + settings.DEBUG = old_settings + + def bail(msg): print '\nERROR: %s\n' % (msg,) sys.exit(1)