aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool/test/switch_to_bad_set_file.py
diff options
context:
space:
mode:
Diffstat (limited to 'binary_search_tool/test/switch_to_bad_set_file.py')
-rwxr-xr-xbinary_search_tool/test/switch_to_bad_set_file.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/binary_search_tool/test/switch_to_bad_set_file.py b/binary_search_tool/test/switch_to_bad_set_file.py
new file mode 100755
index 00000000..f535fdfd
--- /dev/null
+++ b/binary_search_tool/test/switch_to_bad_set_file.py
@@ -0,0 +1,37 @@
+#!/usr/bin/python2
+"""Switch part of the objects file in working set to (possible) bad ones.
+
+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(_):
+ """Switch part of the objects file in working set to (possible) bad ones."""
+ working_set = common.ReadWorkingSet()
+ objects_file = common.ReadObjectsFile()
+
+ if not os.path.exists(os.environ['BISECT_BAD_SET']):
+ print('Bad set file does not exist!')
+ return 1
+
+ object_index = common.ReadObjectIndex(os.environ['BISECT_BAD_SET'])
+
+ for oi in object_index:
+ working_set[int(oi)] = objects_file[oi]
+
+ common.WriteWorkingSet(working_set)
+
+ return 0
+
+
+if __name__ == '__main__':
+ retval = Main(sys.argv)
+ sys.exit(retval)