Mercurial > hg > truffle
comparison mx/commands.py @ 9010:08a16c26907f
MX_TESTFILE environment variable can be used to specify (and preserve) the test list file used by 'mx unittest'.
This is useful when wanting to run the command under gdb.
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 11 Apr 2013 21:40:52 +0200 |
parents | 8ddaac81cb21 |
children | d538dce8f403 |
comparison
equal
deleted
inserted
replaced
9009:1eb16dbb31a7 | 9010:08a16c26907f |
---|---|
775 def _unittest(args, annotations): | 775 def _unittest(args, annotations): |
776 mxdir = dirname(__file__) | 776 mxdir = dirname(__file__) |
777 name = 'JUnitWrapper' | 777 name = 'JUnitWrapper' |
778 javaSource = join(mxdir, name + '.java') | 778 javaSource = join(mxdir, name + '.java') |
779 javaClass = join(mxdir, name + '.class') | 779 javaClass = join(mxdir, name + '.class') |
780 (_, testfile) = tempfile.mkstemp(".testclasses", "graal") | 780 testfile = os.environ.get('MX_TESTFILE', None) |
781 if testfile is None: | |
782 (_, testfile) = tempfile.mkstemp(".testclasses", "graal") | |
781 | 783 |
782 def harness(projectscp, vmArgs): | 784 def harness(projectscp, vmArgs): |
783 if not exists(javaClass) or getmtime(javaClass) < getmtime(javaSource): | 785 if not exists(javaClass) or getmtime(javaClass) < getmtime(javaSource): |
784 subprocess.check_call([mx.java().javac, '-cp', projectscp, '-d', mxdir, javaSource]) | 786 subprocess.check_call([mx.java().javac, '-cp', projectscp, '-d', mxdir, javaSource]) |
785 if _vm == 'server0': | 787 if _vm == 'server0': |
789 vm(prefixArgs + vmArgs + ['-cp', projectscp + os.pathsep + mxdir, name] + [testfile]) | 791 vm(prefixArgs + vmArgs + ['-cp', projectscp + os.pathsep + mxdir, name] + [testfile]) |
790 | 792 |
791 try: | 793 try: |
792 _run_tests(args, harness, annotations, testfile) | 794 _run_tests(args, harness, annotations, testfile) |
793 finally: | 795 finally: |
794 os.remove(testfile) | 796 if os.environ.get('MX_TESTFILE') is None: |
797 os.remove(testfile) | |
795 | 798 |
796 def unittest(args): | 799 def unittest(args): |
797 """run the JUnit tests (all testcases) | 800 """run the JUnit tests (all testcases) |
798 | 801 |
799 If filters are supplied, only tests whose fully qualified name | 802 If filters are supplied, only tests whose fully qualified name |