def test_traceback_size_limit(self): """Insert a failure with a long exception and make sure it gets truncated.""" conn = self.reporter.conn test_case = DummyTestCase() result = TestResult(test_case.test_fail) result.start() result.end_in_failure( (type(AssertionError), AssertionError('A' * 200), None)) with patch.object(self.reporter.options, 'sql_traceback_size', 50): with patch.object( result, 'format_exception_info') as mock_format_exception_info: mock_format_exception_info.return_value = [ "AssertionError: %s" % ('A' * 200), 'A' * 200 ] self.reporter.test_complete(result.to_dict()) assert self.reporter.report() failure = conn.execute(Failures.select()).fetchone() assert_equal(len(failure.traceback), 50) assert_equal(len(failure.error), 50) assert_in('Exception truncated.', failure.traceback) assert_in('Exception truncated.', failure.error)
def test_teardown(self): runner = TestRunner(TestReporterExceptionInClassFixtureSampleTests.FakeClassTeardownTestCase, test_reporters=[self.reporter]) runner.run() conn = self.reporter.conn test_results = self._get_test_results(conn) assert_equal(len(test_results), 3) class_teardown_result = test_results[-1] assert_equal( class_teardown_result['failure'], True, 'Unexpected success for %s.%s' % (class_teardown_result['class_name'], class_teardown_result['method_name']) ) failure = conn.execute(Failures.select()).fetchone() assert_in('in class_teardown_raises_exception', failure.traceback)
def test_teardown(self): runner = TestRunner(TestReporterExceptionInClassFixtureSampleTests. FakeClassTeardownTestCase, test_reporters=[self.reporter]) runner.run() conn = self.reporter.conn test_results = self._get_test_results(conn) assert_equal(len(test_results), 3) class_teardown_result = test_results[-1] assert_equal( class_teardown_result['failure'], True, 'Unexpected success for %s.%s' % (class_teardown_result['class_name'], class_teardown_result['method_name'])) failure = conn.execute(Failures.select()).fetchone() assert_in('in class_teardown_raises_exception', failure.traceback)
def test_setup(self): runner = TestRunner(ExceptionInClassFixtureSampleTests.FakeClassSetupTestCase, test_reporters=[self.reporter]) runner.run() conn = self.reporter.conn test_results = self._get_test_results(conn) assert_equal(len(test_results), 2) # Errors in class_setup methods manifest as errors in the test case's # test methods. for result in test_results: assert_equal( result['failure'], True, 'Unexpected success for %s.%s' % (result['class_name'], result['method_name']) ) failures = conn.execute(Failures.select()).fetchall() for failure in failures: assert_in('in class_setup_raises_exception', failure.traceback)
def test_traceback_size_limit(self): """Insert a failure with a long exception and make sure it gets truncated.""" conn = self.reporter.conn test_case = DummyTestCase() result = TestResult(test_case.test_fail) result.start() result.end_in_failure((type(AssertionError), AssertionError('A' * 200), None)) with patch.object(self.reporter.options, 'sql_traceback_size', 50): with patch.object(result, 'format_exception_info') as mock_format_exception_info: mock_format_exception_info.return_value = ["AssertionError: %s" % ('A' * 200), 'A' * 200] self.reporter.test_complete(result.to_dict()) assert self.reporter.report() failure = conn.execute(Failures.select()).fetchone() assert_equal(len(failure.traceback), 50) assert_equal(len(failure.error), 50) assert_in('Exception truncated.', failure.traceback) assert_in('Exception truncated.', failure.error)