Add queries_captured() context manager for tests.

(imported from commit 14a9529aef057e79bc12c979d88b595828a8b3a3)
This commit is contained in:
Steve Howell 2013-09-20 12:36:18 -04:00 committed by Zev Benjamin
parent edbde0b78b
commit 9ee2f186ca

View File

@ -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)