Annotation Type DisabledInNativeImage


  • @Target({TYPE,METHOD})
    @Retention(RUNTIME)
    @Documented
    @DisabledIfSystemProperty(named="org.graalvm.nativeimage.imagecode",
                              matches=".+",
                              disabledReason="Currently executing within a GraalVM native image")
    @API(status=STABLE,
         since="5.9.1")
    public @interface DisabledInNativeImage
    @DisabledInNativeImage is used to signal that the annotated test class or test method is only disabled when executing within a GraalVM native image.

    When applied at the class level, all test methods within that class will be disabled within a native image.

    This annotation is not @Inherited. Consequently, if you wish to apply the same semantics to a subclass, this annotation must be redeclared on the subclass.

    If a test method is disabled via this annotation, that does not prevent the test class from being instantiated. Rather, it prevents the execution of the test method and method-level lifecycle callbacks such as @BeforeEach methods, @AfterEach methods, and corresponding extension APIs.

    This annotation may be used as a meta-annotation in order to create a custom composed annotation that inherits the semantics of this annotation.

    Technical Details

    JUnit detects whether tests are executing within a GraalVM native image by checking for the presence of the org.graalvm.nativeimage.imagecode system property (see org.graalvm.nativeimage.ImageInfo for details). The GraalVM compiler sets the property to buildtime while compiling a native image; the property is set to runtime while a native image is executing; and the Gradle and Maven plug-ins in the GraalVM Native Build Tools project set the property to agent while executing tests with the GraalVM tracing agent.

    Since:
    5.9.1
    See Also:
    EnabledIf, DisabledIf, EnabledOnOs, DisabledOnOs, EnabledOnJre, DisabledOnJre, EnabledForJreRange, DisabledForJreRange, EnabledInNativeImage, EnabledIfSystemProperty, DisabledIfSystemProperty, EnabledIfEnvironmentVariable, DisabledIfEnvironmentVariable, Disabled