From abe16eeb6e7ba49e1cf042cf15d7cf3af3301c2b Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Sat, 11 Jul 2020 16:55:11 +0200 Subject: [PATCH] Use test name as thread name prefix in scheduling TaskExecutor tests This commit also deletes a duplicate copy of the assertThreadNamePrefix() method. --- .../AbstractSchedulingTaskExecutorTests.java | 13 +++++++------ .../concurrent/ConcurrentTaskExecutorTests.java | 2 +- .../DecoratedThreadPoolTaskExecutorTests.java | 2 +- .../concurrent/ThreadPoolTaskExecutorTests.java | 2 +- .../concurrent/ThreadPoolTaskSchedulerTests.java | 6 +----- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/spring-context/src/test/java/org/springframework/scheduling/concurrent/AbstractSchedulingTaskExecutorTests.java b/spring-context/src/test/java/org/springframework/scheduling/concurrent/AbstractSchedulingTaskExecutorTests.java index e5387c87338..e2bd98762ef 100644 --- a/spring-context/src/test/java/org/springframework/scheduling/concurrent/AbstractSchedulingTaskExecutorTests.java +++ b/spring-context/src/test/java/org/springframework/scheduling/concurrent/AbstractSchedulingTaskExecutorTests.java @@ -45,18 +45,19 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType; */ abstract class AbstractSchedulingTaskExecutorTests { - static final String THREAD_NAME_PREFIX = "test-"; - private AsyncListenableTaskExecutor executor; protected String testName; + protected String threadNamePrefix; + private volatile Object outcome; @BeforeEach void setUp(TestInfo testInfo) { this.testName = testInfo.getTestMethod().get().getName(); + this.threadNamePrefix = this.testName + "-"; this.executor = buildExecutor(); } @@ -173,7 +174,7 @@ abstract class AbstractSchedulingTaskExecutorTests { TestCallable task = new TestCallable(this.testName, 1); Future future = executor.submit(task); String result = future.get(1000, TimeUnit.MILLISECONDS); - assertThat(result.substring(0, THREAD_NAME_PREFIX.length())).isEqualTo(THREAD_NAME_PREFIX); + assertThat(result.substring(0, this.threadNamePrefix.length())).isEqualTo(this.threadNamePrefix); } @Test @@ -216,7 +217,7 @@ abstract class AbstractSchedulingTaskExecutorTests { .atMost(1, TimeUnit.SECONDS) .pollInterval(10, TimeUnit.MILLISECONDS) .until(() -> future.isDone() && outcome != null); - assertThat(outcome.toString().substring(0, THREAD_NAME_PREFIX.length())).isEqualTo(THREAD_NAME_PREFIX); + assertThat(outcome.toString().substring(0, this.threadNamePrefix.length())).isEqualTo(this.threadNamePrefix); } @Test @@ -246,8 +247,8 @@ abstract class AbstractSchedulingTaskExecutorTests { } - private void assertThreadNamePrefix(TestTask task) { - assertThat(task.lastThread.getName().substring(0, THREAD_NAME_PREFIX.length())).isEqualTo(THREAD_NAME_PREFIX); + protected void assertThreadNamePrefix(TestTask task) { + assertThat(task.lastThread.getName().substring(0, this.threadNamePrefix.length())).isEqualTo(this.threadNamePrefix); } private void await(TestTask task) { diff --git a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java index c4ba3d42848..ca4a79d4530 100644 --- a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java +++ b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ConcurrentTaskExecutorTests.java @@ -41,7 +41,7 @@ class ConcurrentTaskExecutorTests extends AbstractSchedulingTaskExecutorTests { @Override protected AsyncListenableTaskExecutor buildExecutor() { - concurrentExecutor.setThreadFactory(new CustomizableThreadFactory(THREAD_NAME_PREFIX)); + concurrentExecutor.setThreadFactory(new CustomizableThreadFactory(this.threadNamePrefix)); return new ConcurrentTaskExecutor(concurrentExecutor); } diff --git a/spring-context/src/test/java/org/springframework/scheduling/concurrent/DecoratedThreadPoolTaskExecutorTests.java b/spring-context/src/test/java/org/springframework/scheduling/concurrent/DecoratedThreadPoolTaskExecutorTests.java index bab885e0dbd..6484b2c0e26 100644 --- a/spring-context/src/test/java/org/springframework/scheduling/concurrent/DecoratedThreadPoolTaskExecutorTests.java +++ b/spring-context/src/test/java/org/springframework/scheduling/concurrent/DecoratedThreadPoolTaskExecutorTests.java @@ -31,7 +31,7 @@ class DecoratedThreadPoolTaskExecutorTests extends AbstractSchedulingTaskExecuto ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setTaskDecorator(runnable -> new DelegatingErrorHandlingRunnable(runnable, TaskUtils.LOG_AND_PROPAGATE_ERROR_HANDLER)); - executor.setThreadNamePrefix(THREAD_NAME_PREFIX); + executor.setThreadNamePrefix(this.threadNamePrefix); executor.setMaxPoolSize(1); executor.afterPropertiesSet(); return executor; diff --git a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskExecutorTests.java b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskExecutorTests.java index 1f2384b2992..11159af5c3c 100644 --- a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskExecutorTests.java +++ b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskExecutorTests.java @@ -27,7 +27,7 @@ class ThreadPoolTaskExecutorTests extends AbstractSchedulingTaskExecutorTests { @Override protected AsyncListenableTaskExecutor buildExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setThreadNamePrefix(THREAD_NAME_PREFIX); + executor.setThreadNamePrefix(this.threadNamePrefix); executor.setMaxPoolSize(1); executor.afterPropertiesSet(); return executor; diff --git a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskSchedulerTests.java b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskSchedulerTests.java index 25180570660..a9654464062 100644 --- a/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskSchedulerTests.java +++ b/spring-context/src/test/java/org/springframework/scheduling/concurrent/ThreadPoolTaskSchedulerTests.java @@ -46,7 +46,7 @@ public class ThreadPoolTaskSchedulerTests extends AbstractSchedulingTaskExecutor @Override protected AsyncListenableTaskExecutor buildExecutor() { - scheduler.setThreadNamePrefix(THREAD_NAME_PREFIX); + scheduler.setThreadNamePrefix(this.threadNamePrefix); scheduler.afterPropertiesSet(); return scheduler; } @@ -134,10 +134,6 @@ public class ThreadPoolTaskSchedulerTests extends AbstractSchedulingTaskExecutor } - private void assertThreadNamePrefix(TestTask task) { - assertThat(task.lastThread.getName().substring(0, THREAD_NAME_PREFIX.length())).isEqualTo(THREAD_NAME_PREFIX); - } - private void await(TestTask task) { await(task.latch); }