aboutsummaryrefslogtreecommitdiff
path: root/binary_search_tool/test/is_good_noinc_prune.py
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2017-02-08 10:44:04 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-02-08 10:44:04 +0000
commit271389dd3199539c4474c351942f4d4fa975b81b (patch)
tree87b3a32b13c392939d66fa93105896f5df0736a6 /binary_search_tool/test/is_good_noinc_prune.py
parentbaba90fd78c18585d22430dc95c748f96ad0c772 (diff)
parentc5804ce784c39d6cf4f69139ab3197d989181cf9 (diff)
downloadtoolchain-utils-271389dd3199539c4474c351942f4d4fa975b81b.tar.gz
Merge remote-tracking branch 'aosp/mirror-chromium-master' into initial_import am: 870a8df6fc am: 9c6fa5f9e5
am: c5804ce784 Change-Id: I5ff109272784db60dfef5145242a68779f7f0ccb
Diffstat (limited to 'binary_search_tool/test/is_good_noinc_prune.py')
-rwxr-xr-xbinary_search_tool/test/is_good_noinc_prune.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/binary_search_tool/test/is_good_noinc_prune.py b/binary_search_tool/test/is_good_noinc_prune.py
new file mode 100755
index 00000000..5aafd6c2
--- /dev/null
+++ b/binary_search_tool/test/is_good_noinc_prune.py
@@ -0,0 +1,46 @@
+#!/usr/bin/python2
+"""Check to see if the working set produces a good executable.
+
+This test 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).
+"""
+
+from __future__ import print_function
+
+import os
+import sys
+
+import common
+
+
+def Main():
+ working_set = common.ReadWorkingSet()
+
+ with open('noinc_prune_good', 'r') as good_args:
+ num_good_args = len(good_args.readlines())
+
+ with open('noinc_prune_bad', 'r') as bad_args:
+ num_bad_args = len(bad_args.readlines())
+
+ num_args = num_good_args + num_bad_args
+ if num_args != len(working_set):
+ print('Only %d args, expected %d' % (num_args, len(working_set)))
+ print('%d good args, %d bad args' % (num_good_args, num_bad_args))
+ return 3
+
+ os.remove('noinc_prune_bad')
+ os.remove('noinc_prune_good')
+
+ if not os.path.exists('./is_setup'):
+ return 1
+ for w in working_set:
+ if w == 1:
+ return 1 ## False, linking failure
+ return 0
+
+
+if __name__ == '__main__':
+ retval = Main()
+ sys.exit(retval)