diff options
author | Cassidy Burden <cburden@google.com> | 2016-07-07 10:48:04 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-07-12 11:10:41 -0700 |
commit | 6bee8a50519fe42aa3c9cf727c1832510c3f0157 (patch) | |
tree | 2c40241ce667784f890ead6464fbbf5e5a215a64 /binary_search_tool/test | |
parent | f56836d4c54b9e7cd09c7d7c681ebac360aa640a (diff) | |
download | toolchain-utils-6bee8a50519fe42aa3c9cf727c1832510c3f0157.tar.gz |
binary search tool: Update found_items when prune is not set
Previously when prune was not set found_items would not be updated with
the single bad item found. This commit fixed this edge case and adds a
unit test for it.
TEST=Run unit tests
Change-Id: Iac56c53fd4de97fa12b14fc9ea1e05d021cc6495
Reviewed-on: https://chrome-internal-review.googlesource.com/268725
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/test')
-rwxr-xr-x | binary_search_tool/test/binary_search_tool_tester.py | 17 |
1 files changed, 17 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 a8a12e7d..c6656f65 100755 --- a/binary_search_tool/test/binary_search_tool_tester.py +++ b/binary_search_tool/test/binary_search_tool_tester.py @@ -269,6 +269,22 @@ class BisectingUtilsTest(unittest.TestCase): bss.DoSearch() self.assertFalse(bss.found_items) + def test_no_prune(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', + install_script='./install.py', + prune=False, + file_args=True) + bss.DoSearch() + self.assertEquals(len(bss.found_items), 1) + + bad_objs = common.ReadObjectsFile() + found_obj = int(bss.found_items.pop()) + self.assertEquals(bad_objs[found_obj], 1) + def check_output(self): _, out, _ = command_executer.GetCommandExecuter().RunCommandWOutput( ('grep "Bad items are: " logs/binary_search_tool_tester.py.out | ' @@ -306,6 +322,7 @@ def Main(argv): suite.addTest(BisectingUtilsTest('test_tmp_cleanup')) suite.addTest(BisectingUtilsTest('test_verify_fail')) suite.addTest(BisectingUtilsTest('test_early_terminate')) + suite.addTest(BisectingUtilsTest('test_no_prune')) suite.addTest(BisectTest('test_full_bisector')) runner = unittest.TextTestRunner() runner.run(suite) |