From 66c78c03b9de9fbccac0a3c714750f8a12454a17 Mon Sep 17 00:00:00 2001 From: Ang Li Date: Wed, 9 Jun 2021 19:22:01 -0700 Subject: Test run exit status should be `0` if test retry eventually passed. (#755) --- tests/mobly/base_test_test.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'tests/mobly/base_test_test.py') diff --git a/tests/mobly/base_test_test.py b/tests/mobly/base_test_test.py index 7fcfb70..e9a7e80 100755 --- a/tests/mobly/base_test_test.py +++ b/tests/mobly/base_test_test.py @@ -2365,8 +2365,10 @@ class BaseTestTest(unittest.TestCase): max_consec_error = 2 mock_action = mock.MagicMock() mock_action.side_effect = [ - Exception('Error 1'), None, - Exception('Error 2'), None, + Exception('Error 1'), + None, + Exception('Error 2'), + None, Exception('Error 3'), ] @@ -2406,6 +2408,8 @@ class BaseTestTest(unittest.TestCase): bt_cls = MockBaseTest(self.mock_test_cls_configs) bt_cls.run() + self.assertTrue(bt_cls.results.is_all_pass, + 'This test run should be considered pass.') self.assertEqual(1, len(bt_cls.results.executed)) self.assertEqual(1, len(bt_cls.results.passed)) pass_record = bt_cls.results.passed[0] @@ -2425,6 +2429,8 @@ class BaseTestTest(unittest.TestCase): bt_cls = MockBaseTest(self.mock_test_cls_configs) bt_cls.run() + self.assertTrue(bt_cls.results.is_all_pass, + 'This test run should be considered pass.') self.assertEqual(3, len(bt_cls.results.executed)) self.assertEqual(1, len(bt_cls.results.passed)) pass_record = bt_cls.results.passed[0] @@ -2433,8 +2439,8 @@ class BaseTestTest(unittest.TestCase): error_record_1, error_record_2 = bt_cls.results.error self.assertEqual(error_record_1.test_name, 'test_something') self.assertEqual(error_record_2.test_name, 'test_something_retry_1') - self.assertEqual(error_record_1.signature, error_record_2.retry_parent) - self.assertEqual(error_record_2.signature, pass_record.retry_parent) + self.assertIs(error_record_1, error_record_2.retry_parent) + self.assertIs(error_record_2, pass_record.retry_parent) def test_retry_all_fail(self): max_count = 3 @@ -2453,14 +2459,16 @@ class BaseTestTest(unittest.TestCase): bt_cls = MockBaseTest(self.mock_test_cls_configs) bt_cls.run() + self.assertFalse(bt_cls.results.is_all_pass, + 'This test run should be considered fail.') self.assertEqual(3, len(bt_cls.results.executed)) self.assertEqual(3, len(bt_cls.results.error)) error_record_1, error_record_2, error_record_3 = bt_cls.results.error self.assertEqual(error_record_1.test_name, 'test_something') self.assertEqual(error_record_2.test_name, 'test_something_retry_1') self.assertEqual(error_record_3.test_name, 'test_something_retry_2') - self.assertEqual(error_record_1.signature, error_record_2.retry_parent) - self.assertEqual(error_record_2.signature, error_record_3.retry_parent) + self.assertIs(error_record_1, error_record_2.retry_parent) + self.assertIs(error_record_2, error_record_3.retry_parent) def test_uid(self): -- cgit v1.2.3