aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool/test/switch_to_good_set_file.py
diff options
context:
space:
mode:
Diffstat (limited to 'binary_search_tool/test/switch_to_good_set_file.py')
-rwxr-xr-xbinary_search_tool/test/switch_to_good_set_file.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/binary_search_tool/test/switch_to_good_set_file.py b/binary_search_tool/test/switch_to_good_set_file.py
new file mode 100755
index 00000000..83777af0
--- /dev/null
+++ b/binary_search_tool/test/switch_to_good_set_file.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python2
+"""Change portions of the object files to good.
+
+The "portion" is defined by the file (which is passed as the only argument to
+this script) content. Every line in the file is an object index, which will be
+set to good (mark as 0).
+
+This script is meant to be specifically used with the set_file test. This uses
+the set files generated by binary_search_state to do the switching.
+"""
+
+from __future__ import print_function
+
+import os
+import sys
+
+import common
+
+
+def Main(_):
+ working_set = common.ReadWorkingSet()
+
+ if not os.path.exists(os.environ['BISECT_GOOD_SET']):
+ print('Good set file does not exist!')
+ return 1
+
+ object_index = common.ReadObjectIndex(os.environ['BISECT_GOOD_SET'])
+
+ for oi in object_index:
+ working_set[int(oi)] = 0
+
+ common.WriteWorkingSet(working_set)
+
+ return 0
+
+
+if __name__ == '__main__':
+ retval = Main(sys.argv)
+ sys.exit(retval)