comparison mx/mx_graal.py @ 15907:7d1690e145ae

mx: option to force a GC after each unit test
author Roland Schatz <roland.schatz@oracle.com>
date Fri, 23 May 2014 11:44:18 +0200
parents db776f9bea7c
children 67e0015b21d6
comparison
equal deleted inserted replaced
15906:5f692474fba3 15907:7d1690e145ae
974 for c in classes: 974 for c in classes:
975 f_testfile.write(c + '\n') 975 f_testfile.write(c + '\n')
976 f_testfile.close() 976 f_testfile.close()
977 harness(projectscp, vmArgs) 977 harness(projectscp, vmArgs)
978 978
979 def _unittest(args, annotations, prefixcp="", whitelist=None, verbose=False, enable_timing=False, regex=None, color=False, eager_stacktrace=False): 979 def _unittest(args, annotations, prefixcp="", whitelist=None, verbose=False, enable_timing=False, regex=None, color=False, eager_stacktrace=False, gc_after_test=False):
980 mxdir = dirname(__file__) 980 mxdir = dirname(__file__)
981 name = 'JUnitWrapper' 981 name = 'JUnitWrapper'
982 javaSource = join(mxdir, name + '.java') 982 javaSource = join(mxdir, name + '.java')
983 javaClass = join(mxdir, name + '.class') 983 javaClass = join(mxdir, name + '.class')
984 testfile = os.environ.get('MX_TESTFILE', None) 984 testfile = os.environ.get('MX_TESTFILE', None)
997 coreArgs.append('-JUnitEnableTiming') 997 coreArgs.append('-JUnitEnableTiming')
998 if color: 998 if color:
999 coreArgs.append('-JUnitColor') 999 coreArgs.append('-JUnitColor')
1000 if eager_stacktrace: 1000 if eager_stacktrace:
1001 coreArgs.append('-JUnitEagerStackTrace') 1001 coreArgs.append('-JUnitEagerStackTrace')
1002 if gc_after_test:
1003 coreArgs.append('-JUnitGCAfterTest')
1002 1004
1003 1005
1004 def harness(projectscp, vmArgs): 1006 def harness(projectscp, vmArgs):
1005 if _get_vm() != 'graal': 1007 if _get_vm() != 'graal':
1006 prefixArgs = ['-esa', '-ea'] 1008 prefixArgs = ['-esa', '-ea']
1029 --verbose enable verbose JUnit output 1031 --verbose enable verbose JUnit output
1030 --enable-timing enable JUnit test timing 1032 --enable-timing enable JUnit test timing
1031 --regex <regex> run only testcases matching a regular expression 1033 --regex <regex> run only testcases matching a regular expression
1032 --color enable colors output 1034 --color enable colors output
1033 --eager-stacktrace print stacktrace eagerly 1035 --eager-stacktrace print stacktrace eagerly
1036 --gc-after-test force a GC after each test
1034 1037
1035 To avoid conflicts with VM options '--' can be used as delimiter. 1038 To avoid conflicts with VM options '--' can be used as delimiter.
1036 1039
1037 If filters are supplied, only tests whose fully qualified name 1040 If filters are supplied, only tests whose fully qualified name
1038 includes a filter as a substring are run. 1041 includes a filter as a substring are run.
1071 parser.add_argument('--verbose', help='enable verbose JUnit output', action='store_true') 1074 parser.add_argument('--verbose', help='enable verbose JUnit output', action='store_true')
1072 parser.add_argument('--enable-timing', help='enable JUnit test timing', action='store_true') 1075 parser.add_argument('--enable-timing', help='enable JUnit test timing', action='store_true')
1073 parser.add_argument('--regex', help='run only testcases matching a regular expression', metavar='<regex>') 1076 parser.add_argument('--regex', help='run only testcases matching a regular expression', metavar='<regex>')
1074 parser.add_argument('--color', help='enable color output', action='store_true') 1077 parser.add_argument('--color', help='enable color output', action='store_true')
1075 parser.add_argument('--eager-stacktrace', help='print stacktrace eagerly', action='store_true') 1078 parser.add_argument('--eager-stacktrace', help='print stacktrace eagerly', action='store_true')
1079 parser.add_argument('--gc-after-test', help='force a GC after each test', action='store_true')
1076 1080
1077 ut_args = [] 1081 ut_args = []
1078 delimiter = False 1082 delimiter = False
1079 # check for delimiter 1083 # check for delimiter
1080 while len(args) > 0: 1084 while len(args) > 0: