11from django .test .runner import DiscoverRunner
22from django .conf import settings
33
4- from unittest import skip
54import xmlrunner
65
76EXCLUDED_TESTS = getattr (settings , 'EXCLUDED_TESTS' , [])
109ENABLE_REGEX_TESTS = getattr (settings , 'ENABLE_REGEX_TESTS' , False )
1110
1211
12+ def MarkexpectedFailure ():
13+ def decorator (test_item ):
14+ def wrapper ():
15+ raise "Expected Failure"
16+ wrapper .__unittest_expecting_failure__ = True
17+ return wrapper
18+ return decorator
19+
1320class ExcludedTestSuiteRunner (DiscoverRunner ):
1421 def build_suite (self , * args , ** kwargs ):
1522 suite = super ().build_suite (* args , ** kwargs )
@@ -18,10 +25,14 @@ def build_suite(self, *args, **kwargs):
1825 test_name = case ._testMethodName
1926 if ENABLE_REGEX_TESTS :
2027 if case .id () in EXCLUDED_TESTS :
21- setattr (case , test_name , skip ("Not supported" )(getattr (case , test_name )))
28+ test_method = getattr (case , test_name )
29+ setattr (case , test_name , MarkexpectedFailure ()(test_method ))
30+ # setattr(case, test_name, expectedFailure2()(test_method))
2231 else :
2332 if case .id () in EXCLUDED_TESTS + REGEX_TESTS :
24- setattr (case , test_name , skip ("Not supported" )(getattr (case , test_name )))
33+ test_method = getattr (case , test_name )
34+ setattr (case , test_name , MarkexpectedFailure ()(test_method ))
35+ # setattr(case, test_name, expectedFailure2()(test_method))
2536 tests .append (case )
2637 suite ._tests = tests
2738 return suite
0 commit comments