aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool/test/switch_to_good_noinc_prune.py
diff options
context:
space:
mode:
Diffstat (limited to 'binary_search_tool/test/switch_to_good_noinc_prune.py')
-rwxr-xr-xbinary_search_tool/test/switch_to_good_noinc_prune.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/binary_search_tool/test/switch_to_good_noinc_prune.py b/binary_search_tool/test/switch_to_good_noinc_prune.py
new file mode 100755
index 00000000..c5e78e45
--- /dev/null
+++ b/binary_search_tool/test/switch_to_good_noinc_prune.py
@@ -0,0 +1,40 @@
+#!/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 switch script is made for the noincremental-prune test. This makes sure
+that, after pruning starts (>1 bad item is found), that the number of args sent
+to the switch scripts is equals to the actual number of items (i.e. checking
+that noincremental always holds).
+
+Warning: This switch script assumes the --file_args option
+"""
+
+from __future__ import print_function
+
+import shutil
+import sys
+
+import common
+
+
+def Main(argv):
+ working_set = common.ReadWorkingSet()
+ object_index = common.ReadObjectIndex(argv[1])
+
+ for oi in object_index:
+ working_set[int(oi)] = 0
+
+ shutil.copy(argv[1], './noinc_prune_good')
+
+ common.WriteWorkingSet(working_set)
+
+ return 0
+
+
+if __name__ == '__main__':
+ retval = Main(sys.argv)
+ sys.exit(retval)