Mercurial > hg > truffle
comparison mx/mx_graal.py @ 15656:fcf6e5683082
mx unittest: add --eager-stacktrace.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 14 May 2014 20:59:27 +0200 |
parents | ec29b2d3bdb4 |
children | 50740bac9679 |
comparison
equal
deleted
inserted
replaced
15655:ec29b2d3bdb4 | 15656:fcf6e5683082 |
---|---|
955 for c in classes: | 955 for c in classes: |
956 f_testfile.write(c + '\n') | 956 f_testfile.write(c + '\n') |
957 f_testfile.close() | 957 f_testfile.close() |
958 harness(projectscp, vmArgs) | 958 harness(projectscp, vmArgs) |
959 | 959 |
960 def _unittest(args, annotations, prefixcp="", whitelist=None, verbose=False, enable_timing=False, regex=None, color=False): | 960 def _unittest(args, annotations, prefixcp="", whitelist=None, verbose=False, enable_timing=False, regex=None, color=False, eager_stacktrace=False): |
961 mxdir = dirname(__file__) | 961 mxdir = dirname(__file__) |
962 name = 'JUnitWrapper' | 962 name = 'JUnitWrapper' |
963 javaSource = join(mxdir, name + '.java') | 963 javaSource = join(mxdir, name + '.java') |
964 javaClass = join(mxdir, name + '.class') | 964 javaClass = join(mxdir, name + '.class') |
965 testfile = os.environ.get('MX_TESTFILE', None) | 965 testfile = os.environ.get('MX_TESTFILE', None) |
976 coreArgs.append('-JUnitVerbose') | 976 coreArgs.append('-JUnitVerbose') |
977 if enable_timing: | 977 if enable_timing: |
978 coreArgs.append('-JUnitEnableTiming') | 978 coreArgs.append('-JUnitEnableTiming') |
979 if color: | 979 if color: |
980 coreArgs.append('-JUnitColor') | 980 coreArgs.append('-JUnitColor') |
981 if eager_stacktrace: | |
982 coreArgs.append('-JUnitEagerStackTrace') | |
981 | 983 |
982 | 984 |
983 def harness(projectscp, vmArgs): | 985 def harness(projectscp, vmArgs): |
984 if _get_vm() != 'graal': | 986 if _get_vm() != 'graal': |
985 prefixArgs = ['-esa', '-ea'] | 987 prefixArgs = ['-esa', '-ea'] |
1007 in the given whitelist | 1009 in the given whitelist |
1008 --verbose enable verbose JUnit output | 1010 --verbose enable verbose JUnit output |
1009 --enable-timing enable JUnit test timing | 1011 --enable-timing enable JUnit test timing |
1010 --regex <regex> run only testcases matching a regular expression | 1012 --regex <regex> run only testcases matching a regular expression |
1011 --color enable colors output | 1013 --color enable colors output |
1014 --eager-stacktrace print stacktrace eagerly | |
1012 | 1015 |
1013 To avoid conflicts with VM options '--' can be used as delimiter. | 1016 To avoid conflicts with VM options '--' can be used as delimiter. |
1014 | 1017 |
1015 If filters are supplied, only tests whose fully qualified name | 1018 If filters are supplied, only tests whose fully qualified name |
1016 includes a filter as a substring are run. | 1019 includes a filter as a substring are run. |
1048 parser.add_argument('--whitelist', help='run testcases specified in whitelist only', metavar='<path>') | 1051 parser.add_argument('--whitelist', help='run testcases specified in whitelist only', metavar='<path>') |
1049 parser.add_argument('--verbose', help='enable verbose JUnit output', action='store_true') | 1052 parser.add_argument('--verbose', help='enable verbose JUnit output', action='store_true') |
1050 parser.add_argument('--enable-timing', help='enable JUnit test timing', action='store_true') | 1053 parser.add_argument('--enable-timing', help='enable JUnit test timing', action='store_true') |
1051 parser.add_argument('--regex', help='run only testcases matching a regular expression', metavar='<regex>') | 1054 parser.add_argument('--regex', help='run only testcases matching a regular expression', metavar='<regex>') |
1052 parser.add_argument('--color', help='enable color output', action='store_true') | 1055 parser.add_argument('--color', help='enable color output', action='store_true') |
1056 parser.add_argument('--eager-stacktrace', help='print stacktrace eagerly', action='store_true') | |
1053 | 1057 |
1054 ut_args = [] | 1058 ut_args = [] |
1055 delimiter = False | 1059 delimiter = False |
1056 # check for delimiter | 1060 # check for delimiter |
1057 while len(args) > 0: | 1061 while len(args) > 0: |
1074 with open(join(_graal_home, parsed_args.whitelist)) as fp: | 1078 with open(join(_graal_home, parsed_args.whitelist)) as fp: |
1075 whitelist = [re.compile(fnmatch.translate(l.rstrip())) for l in fp.readlines() if not l.startswith('#')] | 1079 whitelist = [re.compile(fnmatch.translate(l.rstrip())) for l in fp.readlines() if not l.startswith('#')] |
1076 except IOError: | 1080 except IOError: |
1077 mx.log('warning: could not read whitelist: ' + parsed_args.whitelist) | 1081 mx.log('warning: could not read whitelist: ' + parsed_args.whitelist) |
1078 | 1082 |
1079 _unittest(args, ['@Test', '@Parameters'], whitelist=whitelist, verbose=parsed_args.verbose, enable_timing=parsed_args.enable_timing, regex=parsed_args.regex, color=parsed_args.color) | 1083 _unittest(args, ['@Test', '@Parameters'], whitelist=whitelist, verbose=parsed_args.verbose, enable_timing=parsed_args.enable_timing, regex=parsed_args.regex, color=parsed_args.color, eager_stacktrace=parsed_args.eager_stacktrace) |
1080 | 1084 |
1081 def shortunittest(args): | 1085 def shortunittest(args): |
1082 """alias for 'unittest --whitelist test/whitelist_shortunittest.txt'{0}""" | 1086 """alias for 'unittest --whitelist test/whitelist_shortunittest.txt'{0}""" |
1083 | 1087 |
1084 args = ['--whitelist', 'test/whitelist_shortunittest.txt'] + args | 1088 args = ['--whitelist', 'test/whitelist_shortunittest.txt'] + args |