diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2017-08-28 19:39:17 +0800 |
---|---|---|
committer | Stephen Finucane <stephen@that.guru> | 2017-08-31 09:43:01 +0100 |
commit | e505f1fd26224fc7dcadf43146bc1408a470fe15 (patch) | |
tree | 77a613713d8898564b0a30ef9319d083949ebd50 | |
parent | 60fa7d3977cc719a5828768524358a99a7461d3e (diff) | |
download | patchwork-e505f1fd26224fc7dcadf43146bc1408a470fe15.tar patchwork-e505f1fd26224fc7dcadf43146bc1408a470fe15.tar.gz |
tests: Run FuzzTest within a transaction
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@ozlabs.org>
Reviewed-by: Stephen Finucane <stephen@that.guru>
-rw-r--r-- | patchwork/tests/test_parser.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/patchwork/tests/test_parser.py b/patchwork/tests/test_parser.py index 583dfcc..c21040e 100644 --- a/patchwork/tests/test_parser.py +++ b/patchwork/tests/test_parser.py @@ -26,6 +26,7 @@ import os import unittest from django.test import TestCase +from django.test import TransactionTestCase from django.utils import six from patchwork.models import Comment @@ -865,7 +866,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') |