Code

Ticket #11627: test_suite.3.diff

File test_suite.3.diff, 2.4 KB (added by gruszczy, 5 years ago)

better patch

Line 
1Index: django/test/simple.py
2===================================================================
3--- django/test/simple.py       (wersja 11435)
4+++ django/test/simple.py       (kopia robocza)
5@@ -80,20 +80,19 @@
6     """
7     parts = label.split('.')
8     if len(parts) < 2 or len(parts) > 3:
9-        raise ValueError("Test label '%s' should be of the form app.TestCase or app.TestCase.test_method" % label)
10+        raise ValueError("Test label '%s' should be of the form app.TestCase or app.suite or app.TestCase.test_method" % label)
11 
12-    app_module = get_app(parts[0])
13-    TestClass = getattr(app_module, parts[1], None)
14+    module = get_app(parts[0])
15+    TestClass = getattr(module, parts[1], None)
16 
17     # Couldn't find the test class in models.py; look in tests.py
18     if TestClass is None:
19-        test_module = get_tests(app_module)
20-        if test_module:
21-            TestClass = getattr(test_module, parts[1], None)
22-
23-    if len(parts) == 2: # label is app.TestClass
24+        module = get_tests(module)
25+        if module:
26+            TestClass = getattr(module, parts[1], None)
27+    if len(parts) == 2: # label is app.TestClass or app.suite
28         try:
29-            return unittest.TestLoader().loadTestsFromTestCase(TestClass)
30+            return unittest.TestLoader().loadTestsFromName(parts[1], module)
31         except TypeError:
32             raise ValueError("Test label '%s' does not refer to a test class" % label)
33     else: # label is app.TestClass.test_method
34Index: django/test/testcases.py
35===================================================================
36--- django/test/testcases.py    (wersja 11435)
37+++ django/test/testcases.py    (kopia robocza)
38@@ -460,3 +460,7 @@
39         transaction.rollback()
40         transaction.leave_transaction_management()
41         connection.close()
42+
43+
44+class TestSuite(unittest.TestSuite):
45+       pass
46Index: django/test/__init__.py
47===================================================================
48--- django/test/__init__.py     (wersja 11435)
49+++ django/test/__init__.py     (kopia robocza)
50@@ -3,4 +3,4 @@
51 """
52 
53 from django.test.client import Client
54-from django.test.testcases import TestCase, TransactionTestCase
55+from django.test.testcases import TestCase, TransactionTestCase, TestSuite
56Index: tests/regressiontests/test_utils/models.py
57===================================================================
58--- tests/regressiontests/test_utils/models.py  (wersja 11435)
59+++ tests/regressiontests/test_utils/models.py  (kopia robocza)
60@@ -0,0 +1 @@
61+