Skip to content

Commit 61b8896

Browse files
committed
Fix expectedFailure in processing tests
1 parent 0395b38 commit 61b8896

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

python/plugins/processing/tests/AlgorithmsTestBase.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -67,19 +67,7 @@ def test_algorithms(self):
6767
algorithm_tests = yaml.load(stream)
6868

6969
for algtest in algorithm_tests['tests']:
70-
expectFailure = False
71-
if 'expectedFailure' in algtest:
72-
exec('\n'.join(algtest['expectedFailure'][:-1]))
73-
expectFailure = eval(algtest['expectedFailure'][-1])
74-
if expectFailure:
75-
try:
76-
yield self.check_algorithm, algtest['name'], algtest
77-
except Exception:
78-
pass
79-
else:
80-
raise _UnexpectedSuccess
81-
else:
82-
yield self.check_algorithm, algtest['name'], algtest
70+
yield self.check_algorithm, algtest['name'], algtest
8371

8472
def check_algorithm(self, name, defs):
8573
"""
@@ -101,9 +89,25 @@ def check_algorithm(self, name, defs):
10189
for r, p in defs['results'].iteritems():
10290
alg.setOutputValue(r, self.load_result_param(p))
10391

104-
print(alg.getAsCommand())
105-
self.assertTrue(AlgorithmExecutor.runalg(alg))
106-
self.check_results(alg.getOutputValuesAsDictionary(), defs['results'])
92+
expectFailure = False
93+
if 'expectedFailure' in defs:
94+
exec('\n'.join(defs['expectedFailure'][:-1])) in globals(), locals()
95+
expectFailure = eval(defs['expectedFailure'][-1])
96+
97+
def doCheck():
98+
print(alg.getAsCommand())
99+
self.assertTrue(AlgorithmExecutor.runalg(alg))
100+
self.check_results(alg.getOutputValuesAsDictionary(), defs['results'])
101+
102+
if expectFailure:
103+
try:
104+
doCheck()
105+
except Exception:
106+
pass
107+
else:
108+
raise _UnexpectedSuccess
109+
else:
110+
doCheck()
107111

108112
def load_params(self, params):
109113
"""

0 commit comments

Comments
 (0)