Skip to content

Commit 8f346d2

Browse files
Fix mx unittest launch for configure tests
1 parent c384e66 commit 8f346d2

2 files changed

Lines changed: 26 additions & 4 deletions

File tree

substratevm/mx.substratevm/mx_substratevm.py

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3012,14 +3012,35 @@ def apply(self, config):
30123012
# VMAccess needs to access jdk.internal.module.Modules
30133013
vmArgs.extend(['--add-exports=java.base/jdk.internal.module=jdk.graal.compiler.vmaccess'])
30143014

3015-
# JVMCI is dynamically exported to Graal when JVMCI is initialized. This is too late
3016-
# for the junit harness which uses reflection to find @Test methods. In addition, the
3017-
# tests widely use JVMCI classes so JVMCI needs to also export all its packages to
3018-
# ALL-UNNAMED.
3015+
# Configure tests may run before JVMCI applies its dynamic exports, so export these
3016+
# packages eagerly.
30193017
mainClassArgs.extend(['-JUnitOpenPackages', 'jdk.internal.vm.ci/*=jdk.graal.compiler,ALL-UNNAMED'])
30203018
mainClassArgs.extend(['-JUnitOpenPackages', 'org.graalvm.nativeimage/*=ALL-UNNAMED'])
30213019

30223020
return (vmArgs, mainClass, mainClassArgs)
30233021

30243022

30253023
mx_unittest.register_unittest_config(StandalonePointstoUnittestsConfig())
3024+
3025+
3026+
class SvmUnittestConfig(mx_compiler.GraalUnittestConfig):
3027+
3028+
def __init__(self):
3029+
super(SvmUnittestConfig, self).__init__('svm-unittest')
3030+
3031+
def apply(self, config):
3032+
vmArgs, mainClass, mainClassArgs = super(SvmUnittestConfig, self).apply(config)
3033+
3034+
# SubstrateVM configure tests can initialize pointsto classes before JVMCI has performed
3035+
# its dynamic exports, so they need these JVMCI packages exported eagerly.
3036+
vmArgs.extend([
3037+
'--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED',
3038+
'--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta.annotation=ALL-UNNAMED',
3039+
'--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta.annotation=jdk.graal.compiler.vmaccess',
3040+
'--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED',
3041+
])
3042+
3043+
return (vmArgs, mainClass, mainClassArgs)
3044+
3045+
3046+
mx_unittest.register_unittest_config(SvmUnittestConfig())

substratevm/mx.substratevm/suite.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2723,6 +2723,7 @@
27232723
"SVM",
27242724
"SVM_CONFIGURE",
27252725
],
2726+
"unittestConfig" : "svm-unittest",
27262727
"testDistribution" : True,
27272728
},
27282729

0 commit comments

Comments
 (0)