From 8f18df8a9c4484e8dcd00ec925dbc752deaf21a5 Mon Sep 17 00:00:00 2001 From: erlholmq Date: Thu, 9 Feb 2017 23:00:47 +0100 Subject: [PATCH 1/2] Ignore spock.lang annotations when creating test context cache key See gh-7524 Closes gh-8252 --- .../boot/test/context/ImportsContextCustomizer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java b/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java index 17eea896f9..7c2b914c16 100644 --- a/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java +++ b/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java @@ -324,8 +324,8 @@ class ImportsContextCustomizer implements ContextCustomizer { @Override public boolean isIgnored(Annotation annotation) { - return annotation.annotationType().getName() - .startsWith("org.spockframework."); + return annotation.annotationType().getName().startsWith("org.spockframework.") || + annotation.annotationType().getName().startsWith("spock."); } } From 98cf35d48e25f834e2bae012047511e1c59759fa Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Tue, 28 Feb 2017 15:55:55 +0000 Subject: [PATCH 2/2] Polish "Ignore spock.lang annotations when creating test context cache key" See gh-8252 --- .../context/ImportsContextCustomizer.java | 6 ++-- .../ImportsContextCustomizerTests.java | 32 +++++++++++++++---- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java b/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java index 7c2b914c16..5621874105 100644 --- a/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java +++ b/spring-boot-test/src/main/java/org/springframework/boot/test/context/ImportsContextCustomizer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 the original author or authors. + * Copyright 2012-2017 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. @@ -324,8 +324,8 @@ class ImportsContextCustomizer implements ContextCustomizer { @Override public boolean isIgnored(Annotation annotation) { - return annotation.annotationType().getName().startsWith("org.spockframework.") || - annotation.annotationType().getName().startsWith("spock."); + return annotation.annotationType().getName().startsWith("org.spockframework.") + || annotation.annotationType().getName().startsWith("spock."); } } diff --git a/spring-boot-test/src/test/java/org/springframework/boot/test/context/ImportsContextCustomizerTests.java b/spring-boot-test/src/test/java/org/springframework/boot/test/context/ImportsContextCustomizerTests.java index aeec7702f6..a023500b5e 100644 --- a/spring-boot-test/src/test/java/org/springframework/boot/test/context/ImportsContextCustomizerTests.java +++ b/spring-boot-test/src/test/java/org/springframework/boot/test/context/ImportsContextCustomizerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 the original author or authors. + * Copyright 2012-2017 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. @@ -19,6 +19,8 @@ package org.springframework.boot.test.context; import kotlin.Metadata; import org.junit.Test; import org.spockframework.runtime.model.SpecMetadata; +import spock.lang.Issue; +import spock.lang.Stepwise; import static org.assertj.core.api.Assertions.assertThat; @@ -37,10 +39,18 @@ public class ImportsContextCustomizerTests { } @Test - public void customizersForTestClassesWithDifferentSpockMetadataAreEqual() { - assertThat(new ImportsContextCustomizer(FirstSpockAnnotatedTestClass.class)) + public void customizersForTestClassesWithDifferentSpockFrameworkAnnotationsAreEqual() { + assertThat( + new ImportsContextCustomizer(FirstSpockFrameworkAnnotatedTestClass.class)) + .isEqualTo(new ImportsContextCustomizer( + SecondSpockFrameworkAnnotatedTestClass.class)); + } + + @Test + public void customizersForTestClassesWithDifferentSpockLangAnnotationsAreEqual() { + assertThat(new ImportsContextCustomizer(FirstSpockLangAnnotatedTestClass.class)) .isEqualTo(new ImportsContextCustomizer( - SecondSpockAnnotatedTestClass.class)); + SecondSpockLangAnnotatedTestClass.class)); } @Metadata(d2 = "foo") @@ -54,12 +64,22 @@ public class ImportsContextCustomizerTests { } @SpecMetadata(filename = "foo", line = 10) - static class FirstSpockAnnotatedTestClass { + static class FirstSpockFrameworkAnnotatedTestClass { } @SpecMetadata(filename = "bar", line = 10) - static class SecondSpockAnnotatedTestClass { + static class SecondSpockFrameworkAnnotatedTestClass { + + } + + @Stepwise + static class FirstSpockLangAnnotatedTestClass { + + } + + @Issue("1234") + static class SecondSpockLangAnnotatedTestClass { }