aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool/test/switch_to_good_noinc_prune.py
blob: 00488a743bb4cf180aa421cfb00c76e0307ac7fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env 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)