| Index: recipe_engine/third_party/expect_tests/handle_test.py
|
| diff --git a/recipe_engine/third_party/expect_tests/handle_test.py b/recipe_engine/third_party/expect_tests/handle_test.py
|
| index 4338c7df815846526bd94f7f0223b71a1b89956e..d829c95ad1dca0f5568225e35b85d90d5c543784 100644
|
| --- a/recipe_engine/third_party/expect_tests/handle_test.py
|
| +++ b/recipe_engine/third_party/expect_tests/handle_test.py
|
| @@ -18,6 +18,11 @@ Fail = collections.namedtuple('Fail', 'test diff log_lines')
|
| Pass = collections.namedtuple('Pass', 'test')
|
|
|
|
|
| +class FailChecks(collections.namedtuple('FailChecks', 'test checks')):
|
| + def format(self, indent):
|
| + return (' '*indent+'\n').join([c.format(indent+2) for c in self.checks])
|
| +
|
| +
|
| class TestHandler(Handler):
|
| """Run the tests."""
|
|
|
| @@ -41,7 +46,11 @@ class TestHandler(Handler):
|
| else:
|
| diff = DiffData(current, result.data)
|
| if not diff:
|
| - put_next_stage(Pass(test))
|
| + failed_checks = [check for check in result.checks if not check.passed]
|
| + if failed_checks:
|
| + put_next_stage(FailChecks(test, failed_checks))
|
| + else:
|
| + put_next_stage(Pass(test))
|
| else:
|
| put_next_stage(Fail(test, diff, log_lines))
|
|
|
| @@ -87,6 +96,12 @@ class TestHandler(Handler):
|
| head, tail = os.path.split(test.expect_path())
|
| self.files_expected[head].add(tail)
|
|
|
| + def handle_FailChecks(self, fc):
|
| + self._handle_record(fc.test)
|
| + self._emit('C', fc.test, 'FAIL CHECK')
|
| + self._add_result(fc.format(2), fc.test, 'FAIL CHECK', 'failed checks')
|
| + return Failure()
|
| +
|
| def handle_Pass(self, p):
|
| self._handle_record(p.test)
|
| if not self.opts.quiet:
|
|
|