[PATCH 1/2] tests: Run FuzzTest within a transaction
Jeremy Kerr
jk at ozlabs.org
Mon Aug 28 21:39:17 AEST 2017
Currently, the FuzzTests fail for me with:
/backends/base/base.py", line 428, in validate_no_broken_transaction
"An error occurred in the current transaction. You can't "
TransactionManagementError: An error occurred in the current transaction. You can't execute queries until the end of the 'atomic' block.
- because the SQL inserts can fail, during an active transaction (the
first failure I see is attempting to insert \0 chars in
codec-null.mbox); this causes the setup for the next test case to fail.
Instead, run each test in its own transaction.
Signed-off-by: Jeremy Kerr <jk at ozlabs.org>
---
patchwork/tests/test_parser.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/patchwork/tests/test_parser.py b/patchwork/tests/test_parser.py
index 583dfcc..9389f28 100644
--- a/patchwork/tests/test_parser.py
+++ b/patchwork/tests/test_parser.py
@@ -25,7 +25,7 @@ from email.utils import make_msgid
import os
import unittest
-from django.test import TestCase
+from django.test import TestCase, TransactionTestCase
from django.utils import six
from patchwork.models import Comment
@@ -865,7 +865,7 @@ class SubjectTest(TestCase):
self.assertEqual(parse_version('Hello, world (V6)', []), 6)
-class FuzzTest(TestCase):
+class FuzzTest(TransactionTestCase):
"""Test fuzzed patches."""
def setUp(self):
create_project(listid='patchwork.ozlabs.org')
--
2.7.4
More information about the Patchwork
mailing list