Skip to content

Commit

Permalink
Properly end the test when expects has an error within teardown test. (
Browse files Browse the repository at this point in the history
  • Loading branch information
booneng committed Apr 25, 2023
1 parent 8693d18 commit 791b49c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
1 change: 1 addition & 0 deletions mobly/base_test.py
Expand Up @@ -803,6 +803,7 @@ def exec_one_test(self, test_name, test_method, record=None):
else:
# Check if anything failed by `expects`.
if before_count < expects.recorder.error_count:
tr_record.test_error()
teardown_test_failed = True
except (signals.TestFailure, AssertionError) as e:
tr_record.test_fail(e)
Expand Down
22 changes: 22 additions & 0 deletions tests/mobly/base_test_test.py
Expand Up @@ -510,6 +510,28 @@ def test_something(self):
"Requested 1, Skipped 0")
self.assertEqual(bt_cls.results.summary_str(), expected_summary)

def test_teardown_test_expects_error(self):

class MockBaseTest(base_test.BaseTestClass):

def teardown_test(self):
expects.expect_true(False, MSG_EXPECTED_EXCEPTION)

def test_something(self):
pass

bt_cls = MockBaseTest(self.mock_test_cls_configs)
bt_cls.run()
actual_record = bt_cls.results.error[0]
self.assertEqual(actual_record.test_name, self.mock_test_name)
self.assertEqual(actual_record.details, MSG_EXPECTED_EXCEPTION)
self.assertIsNone(actual_record.extras)
self.assertFalse(actual_record.extra_errors)
self.assertTrue(actual_record.end_time)
expected_summary = ("Error 1, Executed 1, Failed 0, Passed 0, "
"Requested 1, Skipped 0")
self.assertEqual(bt_cls.results.summary_str(), expected_summary)

def test_teardown_test_executed_if_test_pass(self):
my_mock = mock.MagicMock()

Expand Down

0 comments on commit 791b49c

Please sign in to comment.