aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool
diff options
context:
space:
mode:
authorCassidy Burden <cburden@google.com>2016-07-06 15:57:41 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-07-08 11:15:21 -0700
commitf56836d4c54b9e7cd09c7d7c681ebac360aa640a (patch)
tree7b73472c37f2146a26d3218f859f1e0e8405d623 /binary_search_tool
parentd68bc3fbf3103ab6655ba5af1fa30b555d8402c2 (diff)
downloadtoolchain-utils-f56836d4c54b9e7cd09c7d7c681ebac360aa640a.tar.gz
binary search tool: Add more unit tests
Add tests for failed verification and iterations limit. Change-Id: I22c26ed1c5f779ee5f81256c2315a6c523e1dfa8 Reviewed-on: https://chrome-internal-review.googlesource.com/268243 Commit-Ready: Cassidy Burden <cburden@google.com> Tested-by: Cassidy Burden <cburden@google.com> Reviewed-by: Han Shen <shenhan@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org>
Diffstat (limited to 'binary_search_tool')
-rwxr-xr-xbinary_search_tool/test/binary_search_tool_tester.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/binary_search_tool/test/binary_search_tool_tester.py b/binary_search_tool/test/binary_search_tool_tester.py
index 1be4481a..a8a12e7d 100755
--- a/binary_search_tool/test/binary_search_tool_tester.py
+++ b/binary_search_tool/test/binary_search_tool_tester.py
@@ -245,6 +245,30 @@ class BisectingUtilsTest(unittest.TestCase):
for i in range(3):
self.assertEquals(ws[i], 42)
+ def test_verify_fail(self):
+ bss = binary_search_state.MockBinarySearchState(
+ get_initial_items='./gen_init_list.py',
+ switch_to_good='./switch_to_bad.py',
+ switch_to_bad='./switch_to_good.py',
+ test_script='./is_good.py',
+ prune=True,
+ file_args=True,
+ verify_level=1)
+ with self.assertRaises(AssertionError):
+ bss.DoVerify()
+
+ def test_early_terminate(self):
+ bss = binary_search_state.MockBinarySearchState(
+ get_initial_items='./gen_init_list.py',
+ switch_to_good='./switch_to_good.py',
+ switch_to_bad='./switch_to_bad.py',
+ test_script='./is_good.py',
+ prune=True,
+ file_args=True,
+ iterations=1)
+ bss.DoSearch()
+ self.assertFalse(bss.found_items)
+
def check_output(self):
_, out, _ = command_executer.GetCommandExecuter().RunCommandWOutput(
('grep "Bad items are: " logs/binary_search_tool_tester.py.out | '
@@ -280,6 +304,8 @@ def Main(argv):
suite.addTest(BisectingUtilsTest('test_save_state'))
suite.addTest(BisectingUtilsTest('test_load_state'))
suite.addTest(BisectingUtilsTest('test_tmp_cleanup'))
+ suite.addTest(BisectingUtilsTest('test_verify_fail'))
+ suite.addTest(BisectingUtilsTest('test_early_terminate'))
suite.addTest(BisectTest('test_full_bisector'))
runner = unittest.TextTestRunner()
runner.run(suite)