Changeset 41af19c
- Timestamp:
- Apr 16, 2020, 12:00:42 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 7215000, 9a7c88f
- Parents:
- 1c412aa
- Location:
- tests
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/pybin/settings.py
r1c412aa r41af19c 23 23 class Architecture: 24 24 KnownArchitectures = { 25 'x64' 26 'x86-64' 27 'x86_64' 28 'x86' 29 'aarch64' 30 'i386' 31 'i486' 32 'i686' 33 'Intel 80386' 34 'arm' 35 'ARM' 25 'x64' : 'x64', 26 'x86-64' : 'x64', 27 'x86_64' : 'x64', 28 'x86' : 'x86', 29 'aarch64' : 'arm', 30 'i386' : 'x86', 31 'i486' : 'x86', 32 'i686' : 'x86', 33 'Intel 80386' : 'x86', 34 'arm' : 'arm', 35 'ARM' : 'arm', 36 36 } 37 37 … … 129 129 global timeout2gdb 130 130 131 all_arch = [Architecture(o) for o in list(dict.fromkeys(options.arch ))] 131 all_arch = [Architecture(o) for o in list(dict.fromkeys(options.arch ))] if options.arch else [Architecture(None)] 132 132 all_debug = [Debug(o) for o in list(dict.fromkeys(options.debug ))] 133 133 all_install = [Install(o) for o in list(dict.fromkeys(options.install))] -
tests/pybin/test_run.py
r1c412aa r41af19c 45 45 46 46 @classmethod 47 def from_target(_, target):47 def new_target(_, target, arch): 48 48 test = Test() 49 49 test.name = os.path.basename(target) 50 50 test.path = os.path.relpath (os.path.dirname(target), settings.SRCDIR) 51 test.arch = settings.arch.target if settings.arch.cross_compileelse ''51 test.arch = arch.target if arch else '' 52 52 return test 53 53 -
tests/test.py
r1c412aa r41af19c 67 67 for testname in options.tests : 68 68 testname = canonical_path( testname ) 69 # first check if this is a valid name to regenerate 69 70 if Test.valid_name(testname): 71 # this is a valid name, let's check if it already exists 70 72 found = [test for test in all_tests if canonical_path( test.target() ) == testname] 71 tests.append( found[0] if len(found) == 1 else Test.from_target(testname) ) 73 if not found: 74 # it's a new name, create it according to the name and specified architecture 75 if options.arch: 76 # user specified one or multiple architectures, assume the tests will have architecture specific results 77 tests.extend( [Test.new_target(testname, arch) for arch in settings.all_arch] ) 78 else: 79 # user didn't specify an architecture, just create a cross platform test 80 tests.append( Test.new_target( testname, None ) ) 81 elif len(found) == 1 and not found[0].arch: 82 # we found a single test, the user better be wanting to create a cross platform test 83 if options.arch: 84 print('ERROR: "%s", test has no specified architecture but --arch was specified, ignoring it' % testname, file=sys.stderr) 85 else: 86 tests.append( found[0] ) 87 else: 88 # this test is already cross platform, just add a test for each platform the user asked 89 tests.extend( [Test.new_target(testname, arch) for arch in settings.all_arch] ) 90 91 # print a warning if it users didn't ask for a specific architecture 92 if not options.arch: 93 print('WARNING: "%s", test has architecture specific expected files but --arch was not specified, regenerating only for current host' % testname, file=sys.stderr) 94 72 95 else : 73 96 print('ERROR: "%s", tests are not allowed to end with a C/C++/CFA extension, ignoring it' % testname, file=sys.stderr) … … 91 114 parser.add_argument('--debug', help='Run all tests in debug or release', type=comma_separated(yes_no), default='yes') 92 115 parser.add_argument('--install', help='Run all tests based on installed binaries or tree binaries', type=comma_separated(yes_no), default='no') 93 parser.add_argument('--arch', help='Test for specific architecture', type=comma_separated(str), default= '')116 parser.add_argument('--arch', help='Test for specific architecture', type=comma_separated(str), default=None) 94 117 parser.add_argument('--continue', help='When multiple specifications are passed (debug/install/arch), sets whether or not to continue if the last specification failed', type=yes_no, default='yes', dest='continue_') 95 118 parser.add_argument('--timeout', help='Maximum duration in seconds after a single test is considered to have timed out', type=int, default=60)
Note: See TracChangeset
for help on using the changeset viewer.