From daee9f1242264215876e67f6ef43b117195385c6 Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Fri, 25 Apr 2025 12:08:39 +0200 Subject: [PATCH] =?UTF-8?q?Reinstate=20the=20@=E2=81=A0Inject=20Technology?= =?UTF-8?q?=20Compatibility=20Kit=20(TCK)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In commit 05ebca8677, the `public` modifier was removed from the SpringAtInjectTckTests class, which prevents it from being run as a JUnit 3 test class. To address that, this commit adds the missing `public` modifier as well as a a code comment to help prevent this from happening again. In addition, this commit updates spring-context.gradle to ensure that the JUnit Vintage test engine is always applied. However, that Gradle configuration is unfortunately ignored due to how our TestConventions class has been implemented. Thus, that issue will have to be addressed separately. Closes gh-34800 (cherry picked from commit e384389790652d4e052a5b9dc3f2ed0d724fa040) --- spring-context/spring-context.gradle | 7 +++++++ .../context/annotation/jsr330/SpringAtInjectTckTests.java | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/spring-context/spring-context.gradle b/spring-context/spring-context.gradle index 0256d6bfdbf..6fa5e956f54 100644 --- a/spring-context/spring-context.gradle +++ b/spring-context/spring-context.gradle @@ -58,3 +58,10 @@ dependencies { testRuntimeOnly("org.javamoney:moneta") testRuntimeOnly("org.junit.vintage:junit-vintage-engine") // for @Inject TCK } + +test { + description = "Runs JUnit Jupiter tests and the @Inject TCK via JUnit Vintage." + useJUnitPlatform { + includeEngines "junit-jupiter", "junit-vintage" + } +} diff --git a/spring-context/src/test/java/org/springframework/context/annotation/jsr330/SpringAtInjectTckTests.java b/spring-context/src/test/java/org/springframework/context/annotation/jsr330/SpringAtInjectTckTests.java index f9d0574d552..bc36d8fd46f 100644 --- a/spring-context/src/test/java/org/springframework/context/annotation/jsr330/SpringAtInjectTckTests.java +++ b/spring-context/src/test/java/org/springframework/context/annotation/jsr330/SpringAtInjectTckTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,7 +38,8 @@ import org.springframework.context.support.GenericApplicationContext; * @author Juergen Hoeller * @since 3.0 */ -class SpringAtInjectTckTests { +// WARNING: This class MUST be public, since it is based on JUnit 3. +public class SpringAtInjectTckTests { @SuppressWarnings("unchecked") public static Test suite() {