diff options
author | Cassidy Burden <cburden@google.com> | 2016-07-22 14:49:40 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-07-26 09:20:38 -0700 |
commit | 5a9c4419a7625926712263b345f21ad6d204f130 (patch) | |
tree | 0d2c945366de805424243aebf88cee2910bb8911 /binary_search_tool/test/switch_to_bad_set_file.py | |
parent | 0ded515f8f340188634bd8d14e3184b98e4f06de (diff) | |
download | toolchain-utils-5a9c4419a7625926712263b345f21ad6d204f130.tar.gz |
binary search tool: Provide temp files that hold GOOD/BAD sets
Provide temp files to scripts ($BISECT_GOOD_SET, $BISECT_BAD_SET) that
provide a full listing of the items in the good set and items in the bad
set. This can be used for debugging purposes or so scripts can analyze
the state of the current binary search iteration.
TEST=Add unit test that utilizes these files
Change-Id: I32bc393644f1cb998c2d818a9026486ef83cc4b8
Reviewed-on: https://chrome-internal-review.googlesource.com/270730
Commit-Ready: Cassidy Burden <cburden@google.com>
Tested-by: Cassidy Burden <cburden@google.com>
Reviewed-by: Caroline Tice <cmtice@google.com>
Reviewed-by: Han Shen <shenhan@google.com>
Diffstat (limited to 'binary_search_tool/test/switch_to_bad_set_file.py')
-rwxr-xr-x | binary_search_tool/test/switch_to_bad_set_file.py | 37 |
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) |