Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1855)

Unified Diff: src/trusted/validator_x86/testscripts/run_old_validator_tests.py

Issue 625923004: Delete old x86 validator. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: rebase master Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/trusted/validator_x86/testscripts/run_old_validator_tests.py
diff --git a/src/trusted/validator_x86/testscripts/run_old_validator_tests.py b/src/trusted/validator_x86/testscripts/run_old_validator_tests.py
deleted file mode 100755
index 2884ed0bbd2b6b90ec6508389ccc2d89959e6928..0000000000000000000000000000000000000000
--- a/src/trusted/validator_x86/testscripts/run_old_validator_tests.py
+++ /dev/null
@@ -1,167 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2012 The Native Client Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import glob
-import optparse
-import subprocess
-import sys
-
-import test_format
-
-
-FIELDS_TO_IGNORE = set(['rdfa_output', 'validators_disagree'])
-
-
-def AssertEquals(actual, expected):
- if actual != expected:
- raise AssertionError('\nEXPECTED:\n"""\n%s"""\n\nACTUAL:\n"""\n%s"""'
- % (expected, actual))
-
-
-def GetX8632Combinations():
- for detailed in (True, False):
- for test_stats in (True, False):
- for test_cpuid_all in (True, False):
- ext = 'nval'
- options = []
- if detailed:
- ext += 'd'
- options.append('--detailed')
- else:
- options.append('--detailed=false')
- if test_stats:
- ext += 's'
- options.append('--stats')
- if test_cpuid_all:
- options.append('--cpuid-all')
- else:
- ext += '0'
- options.append('--cpuid-none')
- yield ext, options
-
-
-def GetX8664Combinations():
- for test_readwrite in (True, False):
- for detailed in (True, False):
- for test_cpuid_all in (True, False):
- for test_annotate in (True, False):
- for validator_decoder in (True, False):
- options = []
- # TODO(shcherbina): Remove support for testing validation
- # without sandboxing memory reads.
- if test_readwrite:
- ext = 'rval'
- options.append('--readwrite_sfi')
- else:
- ext = 'val'
- options.append('--write_sfi')
- if detailed:
- ext += 'd'
- options.append('--detailed')
- else:
- options.append('--detailed=false')
- if test_cpuid_all:
- options.append('--cpuid-all')
- else:
- ext += '0'
- options.append('--cpuid-none')
- if test_annotate:
- ext += 'a'
- options.append('--annotate')
- else:
- options.append('--annotate=false')
- if validator_decoder:
- ext = "vd-" + ext
- options.append('--validator_decoder')
- yield ext, options
-
-
-def Test(options, items_list):
- info = dict(items_list)
- handled_fields = set(['hex'])
-
- def RunCommandOnHex(field, command):
- handled_fields.add(field)
- if field in info:
- proc = subprocess.Popen(command,
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE)
- # r'\\' is used as line continuation marker by
- # run_rdfa_validator_tests.py. Old validator does not care about line
- # partitioning, so we just remove the marker.
- stdout, stderr = proc.communicate(info['hex'].replace(r'\\', ''))
- assert proc.wait() == 0, (command, stdout, stderr)
- # Remove the carriage return characters that we get on Windows.
- stdout = stdout.replace('\r', '')
- print ' Checking %r field...' % field
- if options.update:
- if stdout != info[field]:
- print ' Updating %r field...' % field
- info[field] = stdout
- else:
- AssertEquals(stdout, info[field])
-
- ncdis = [options.ncdis, '--hex_text=-']
- RunCommandOnHex('dis', ncdis + ['--full_decoder'])
- RunCommandOnHex('vdis', ncdis + ['--validator_decoder'])
-
- ncval = [options.ncval, '--hex_text=-', '--max_errors=-1']
- if options.bits == 32:
- for ext, ncval_options in GetX8632Combinations():
- RunCommandOnHex(ext, ncval + ncval_options)
- elif options.bits == 64:
- for ext, ncval_options in GetX8664Combinations():
- RunCommandOnHex(ext, ncval + ncval_options)
-
- RunCommandOnHex('sval', ncval + ['--stubout'])
- else:
- raise AssertionError('Unknown architecture: %r' % options.bits)
-
- unhandled = set(info.keys()) - set(handled_fields) - FIELDS_TO_IGNORE
- if unhandled:
- raise AssertionError('Unhandled fields: %r' % sorted(unhandled))
-
- # Update field values, but preserve their order.
- items_list = [(field, info[field]) for field, _ in items_list]
-
- return items_list
-
-
-def main(args):
- parser = optparse.OptionParser()
- parser.add_option('--ncval', default='ncval',
- help='Path to the ncval validator executable')
- parser.add_option('--ncdis', default='ncdis',
- help='Path to the ncdis disassembler executable')
- parser.add_option('--bits',
- type=int,
- help='The subarchitecture to run tests against: 32 or 64')
- parser.add_option('--update',
- default=False,
- action='store_true',
- help='Regenerate golden fields instead of testing')
- options, args = parser.parse_args(args)
- if options.bits not in [32, 64]:
- parser.error('specify --bits 32 or --bits 64')
- if len(args) == 0:
- parser.error('No test files specified')
- processed = 0
- for glob_expr in args:
- test_files = sorted(glob.glob(glob_expr))
- if len(test_files) == 0:
- raise AssertionError(
- '%r matched no files, which was probably not intended' % glob_expr)
- for test_file in test_files:
- print 'Testing %s...' % test_file
- tests = test_format.LoadTestFile(test_file)
- tests = [Test(options, test) for test in tests]
- if options.update:
- test_format.SaveTestFile(tests, test_file)
- processed += 1
- print '%s test files were processed.' % processed
-
-
-if __name__ == '__main__':
- main(sys.argv[1:])

Powered by Google App Engine
This is Rietveld 408576698