Using native-gradle-plugin, we should as a first step for better test coverage on native introduce running a subset of the tests optionally.

Since we don't want to introduce circular dependency between Spring Native and Spring Framework, and since running JVM tests before native ones is required, we should enable the tracing agent (as supported by the Gradle plugin) to generate the required native configuration automatically.

All tests using unsupported features like bytecode runtime generation (CGLIB proxies, Mockito) should be disabled. Also no need to test @Configuration processing since that will be different on native via AOT transformation. So I would advise to start by the core ones like spring-core, spring-beans, spring-context.

Comment From: sbrannen

All tests using unsupported features like bytecode runtime generation (CGLIB proxies, Mockito) should be disabled.

A basis for this already exists in the various @Uses* and @Disabled* annotations in https://github.com/sbrannen/spring-framework/tree/graalvm-testing/spring-core/src/testFixtures/java/org/springframework/core/testfixture/annotation.

Comment From: sdeleuze

We won't depend on https://github.com/graalvm/native-build-tools/ for testing the behavior required for native at Framework level so I close this issue. We will share more details in upcoming Spring Framework 6 issues.