aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbinary_search_tool/binary_search_state.py11
-rwxr-xr-xbinary_search_tool/test/binary_search_tool_tester.py4
2 files changed, 15 insertions, 0 deletions
diff --git a/binary_search_tool/binary_search_state.py b/binary_search_tool/binary_search_state.py
index f0415667..f78e768c 100755
--- a/binary_search_tool/binary_search_state.py
+++ b/binary_search_tool/binary_search_state.py
@@ -370,7 +370,18 @@ class BinarySearchState(object):
bss.ce = command_executer.GetCommandExecuter()
bss.binary_search.logger = bss.l
bss.start_time = time.time()
+
+ # Set resumed to be True so we can enter DoBinarySearch without the method
+ # resetting our current search_cycles to 0.
bss.resumed = True
+
+ # Set currently_good_items and currently_bad_items to empty so that the
+ # first iteration after resuming will always be non-incremental. This is
+ # just in case the environment changes, the user makes manual changes, or
+ # a previous switch_script corrupted the environment.
+ bss.currently_good_items = set([])
+ bss.currently_bad_items = set([])
+
binary_search_perforce.verbose = bss.verbose
return bss
except StandardError:
diff --git a/binary_search_tool/test/binary_search_tool_tester.py b/binary_search_tool/test/binary_search_tool_tester.py
index 12013d32..ddf302b0 100755
--- a/binary_search_tool/test/binary_search_tool_tester.py
+++ b/binary_search_tool/test/binary_search_tool_tester.py
@@ -227,12 +227,16 @@ class BisectingUtilsTest(unittest.TestCase):
bss = binary_search_state.MockBinarySearchState()
bss.all_items = test_items
+ bss.currently_good_items = set([1, 2, 3])
+ bss.currently_bad_items = set([4, 5])
bss.SaveState()
bss = None
bss2 = binary_search_state.MockBinarySearchState.LoadState()
self.assertEquals(bss2.all_items, test_items)
+ self.assertEquals(bss2.currently_good_items, set([]))
+ self.assertEquals(bss2.currently_bad_items, set([]))
def test_tmp_cleanup(self):
bss = binary_search_state.MockBinarySearchState(