File tree Expand file tree Collapse file tree 1 file changed +28
-19
lines changed Expand file tree Collapse file tree 1 file changed +28
-19
lines changed Original file line number Diff line number Diff line change 1
1
#!/usr/bin/env python
2
2
import sys
3
3
import os
4
+ import contextlib
4
5
5
- try :
6
- from django import setup
7
- except ImportError :
8
- import traceback
9
- traceback .print_exc ()
10
- msg = "To fix this error, run: pip install -r requirements_test.txt"
11
- raise ImportError (msg )
12
6
13
- from django .test .utils import get_runner
14
- from django .conf import settings
15
- os .environ ["DJANGO_SETTINGS_MODULE" ] = "tests.readonly_project.settings"
16
- setup ()
17
-
18
-
19
- def run_tests (* test_args ):
7
+ @contextlib .contextmanager
8
+ def cover ():
20
9
do_coverage = "COVERAGE" in os .environ
21
10
22
11
if do_coverage :
@@ -25,12 +14,32 @@ def run_tests(*test_args):
25
14
cov .start ()
26
15
print ("Coverage will be generated" )
27
16
28
- from django .core .management import execute_from_command_line
29
- execute_from_command_line (["" , "test" , ] + sys .argv [1 :])
17
+ try :
18
+ yield
19
+ finally :
20
+ if do_coverage :
21
+ cov .stop ()
22
+ cov .save ()
30
23
31
- if do_coverage :
32
- cov .stop ()
33
- cov .save ()
24
+
25
+ def run_tests (* test_args ):
26
+
27
+ with cover ():
28
+ try :
29
+ from django import setup
30
+ except ImportError :
31
+ import traceback
32
+ traceback .print_exc ()
33
+ msg = ("To fix this error, run: "
34
+ "pip install -r requirements_test.txt" )
35
+ raise ImportError (msg )
36
+
37
+ module = "tests.readonly_project.settings"
38
+ os .environ ["DJANGO_SETTINGS_MODULE" ] = module
39
+ setup ()
40
+
41
+ from django .core .management import execute_from_command_line
42
+ execute_from_command_line (["" , "test" , ] + sys .argv [1 :])
34
43
35
44
36
45
if __name__ == '__main__' :
You can’t perform that action at this time.
0 commit comments