From b8070a8339b0dd6ee062ae96706b8d59b04502b8 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 2 Sep 2019 17:18:20 +0100 Subject: [PATCH] Skip tests on Windows that exceed its file system's limitations --- ...ctEmbeddedServletContainerIntegrationTests.java | 5 +++++ .../boot/context/embedded/ApplicationBuilder.java | 14 ++++++++++---- ...letContainerJarDevelopmentIntegrationTests.java | 2 ++ ...rvletContainerJarPackagingIntegrationTests.java | 2 ++ ...letContainerWarDevelopmentIntegrationTests.java | 2 ++ ...rvletContainerWarPackagingIntegrationTests.java | 2 ++ 6 files changed, 23 insertions(+), 4 deletions(-) diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerIntegrationTests.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerIntegrationTests.java index bcddc7f47f..017635f95b 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerIntegrationTests.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/AbstractEmbeddedServletContainerIntegrationTests.java @@ -16,6 +16,7 @@ package org.springframework.boot.context.embedded; +import java.io.File; import java.io.IOException; import java.net.URI; import java.util.ArrayList; @@ -110,4 +111,8 @@ public abstract class AbstractEmbeddedServletContainerIntegrationTests { }); } + protected boolean isWindows() { + return File.separatorChar == '\\'; + } + } diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/ApplicationBuilder.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/ApplicationBuilder.java index dd3f30a312..0f15c758de 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/ApplicationBuilder.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/ApplicationBuilder.java @@ -90,10 +90,12 @@ class ApplicationBuilder { resourcesJarStream.putNextEntry(new ZipEntry("META-INF/resources/nested-meta-inf-resource.txt")); resourcesJarStream.write("nested".getBytes()); resourcesJarStream.closeEntry(); - resourcesJarStream.putNextEntry( - new ZipEntry("META-INF/resources/nested-reserved-!#$%&()*+,:=?@[]-meta-inf-resource.txt")); - resourcesJarStream.write("encoded-name".getBytes()); - resourcesJarStream.closeEntry(); + if (!isWindows()) { + resourcesJarStream.putNextEntry( + new ZipEntry("META-INF/resources/nested-reserved-!#$%&()*+,:=?@[]-meta-inf-resource.txt")); + resourcesJarStream.write("encoded-name".getBytes()); + resourcesJarStream.closeEntry(); + } return resourcesJar; } } @@ -154,4 +156,8 @@ class ApplicationBuilder { assertThat(execute.getExitCode()).isEqualTo(0); } + private boolean isWindows() { + return File.separatorChar == '\\'; + } + } diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java index a632c58bec..51962d2bff 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java @@ -18,6 +18,7 @@ package org.springframework.boot.context.embedded; import java.util.Arrays; +import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -56,6 +57,7 @@ public class EmbeddedServletContainerJarDevelopmentIntegrationTests @Test public void metaInfResourceFromDependencyWithNameThatContainsReservedCharactersIsAvailableViaHttp() { + Assume.assumeFalse(isWindows()); ResponseEntity entity = this.rest.getForEntity( "/nested-reserved-%21%23%24%25%26%28%29%2A%2B%2C%3A%3D%3F%40%5B%5D-meta-inf-resource.txt", String.class); diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java index 268b27db9c..a523a196f3 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java @@ -18,6 +18,7 @@ package org.springframework.boot.context.embedded; import java.util.Arrays; +import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -56,6 +57,7 @@ public class EmbeddedServletContainerJarPackagingIntegrationTests @Test public void nestedMetaInfResourceWithNameThatContainsReservedCharactersIsAvailableViaHttp() { + Assume.assumeFalse(isWindows()); ResponseEntity entity = this.rest.getForEntity( "/nested-reserved-%21%23%24%25%26%28%29%2A%2B%2C%3A%3D%3F%40%5B%5D-meta-inf-resource.txt", String.class); diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java index f2e5d3bd0a..6d434c3cce 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java @@ -24,6 +24,7 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -62,6 +63,7 @@ public class EmbeddedServletContainerWarDevelopmentIntegrationTests @Test public void metaInfResourceFromDependencyWithNameThatContainsReservedCharactersIsAvailableViaHttp() { + Assume.assumeFalse(isWindows()); ResponseEntity entity = this.rest.getForEntity( "/nested-reserved-%21%23%24%25%26%28%29%2A%2B%2C%3A%3D%3F%40%5B%5D-meta-inf-resource.txt", String.class); diff --git a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java index f9081f7dce..b1ce725863 100644 --- a/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java +++ b/spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java @@ -24,6 +24,7 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -62,6 +63,7 @@ public class EmbeddedServletContainerWarPackagingIntegrationTests @Test public void nestedMetaInfResourceWithNameThatContainsReservedCharactersIsAvailableViaHttp() { + Assume.assumeFalse(isWindows()); ResponseEntity entity = this.rest.getForEntity( "/nested-reserved-%21%23%24%25%26%28%29%2A%2B%2C%3A%3D%3F%40%5B%5D-meta-inf-resource.txt", String.class);