Use test name as thread name prefix in scheduling TaskExecutor tests

This commit also deletes a duplicate copy of the assertThreadNamePrefix()
method.
This commit is contained in:
Sam Brannen 2020-07-11 16:55:11 +02:00
parent 54d9dfa84f
commit abe16eeb6e
5 changed files with 11 additions and 14 deletions

View File

@ -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<String> 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) {

View File

@ -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);
}

View File

@ -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;

View File

@ -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;

View File

@ -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);
}