Fix resource registration hints in the TestContext framework

Resource patterns registered for inclusion in a GraalVM native image
must not start with a leading slash.
This commit is contained in:
Sam Brannen 2022-09-05 18:38:38 +02:00
parent 6e93f1187c
commit 6902ff77d9
3 changed files with 10 additions and 10 deletions

View File

@ -114,8 +114,8 @@ class StandardTestRuntimeHints implements TestRuntimeHintsRegistrar {
private String cleanClasspathResource(String location) {
location = location.substring(CLASSPATH_URL_PREFIX.length());
if (!location.startsWith(SLASH)) {
location = SLASH + location;
if (location.startsWith(SLASH)) {
location = location.substring(1);
}
return location;
}

View File

@ -399,8 +399,8 @@ public class SqlScriptsTestExecutionListener extends AbstractTestExecutionListen
private String cleanClasspathResource(String location) {
location = location.substring(CLASSPATH_URL_PREFIX.length());
if (!location.startsWith(SLASH)) {
location = SLASH + location;
if (location.startsWith(SLASH)) {
location = location.substring(1);
}
return location;
}

View File

@ -181,21 +181,21 @@ class TestContextAotGeneratorTests extends AbstractAotTests {
).forEach(type -> assertReflectionRegistered(runtimeHints, type, INVOKE_DECLARED_CONSTRUCTORS));
// @ContextConfiguration(locations = ...)
assertThat(resource().forResource("/org/springframework/test/context/aot/samples/xml/test-config.xml"))
assertThat(resource().forResource("org/springframework/test/context/aot/samples/xml/test-config.xml"))
.accepts(runtimeHints);
// @TestPropertySource(locations = ...)
assertThat(resource().forResource("/org/springframework/test/context/aot/samples/basic/BasicSpringVintageTests.properties"))
assertThat(resource().forResource("org/springframework/test/context/aot/samples/basic/BasicSpringVintageTests.properties"))
.accepts(runtimeHints);
// @WebAppConfiguration(value = ...)
assertThat(resource().forResource("/META-INF/web-resources/resources/Spring.js")).accepts(runtimeHints);
assertThat(resource().forResource("/META-INF/web-resources/WEB-INF/views/home.jsp")).accepts(runtimeHints);
assertThat(resource().forResource("META-INF/web-resources/resources/Spring.js")).accepts(runtimeHints);
assertThat(resource().forResource("META-INF/web-resources/WEB-INF/views/home.jsp")).accepts(runtimeHints);
// @Sql(scripts = ...)
assertThat(resource().forResource("/org/springframework/test/context/jdbc/schema.sql"))
assertThat(resource().forResource("org/springframework/test/context/jdbc/schema.sql"))
.accepts(runtimeHints);
assertThat(resource().forResource("/org/springframework/test/context/aot/samples/jdbc/SqlScriptsSpringJupiterTests.test.sql"))
assertThat(resource().forResource("org/springframework/test/context/aot/samples/jdbc/SqlScriptsSpringJupiterTests.test.sql"))
.accepts(runtimeHints);
}