Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix MP Config TCK tests as part of #4516 #5050

Merged
merged 1 commit into from
Oct 31, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public static String expandValue(String value, Cache cache) {
if (value == null)
return null;
final Expression compiled = cache.exprCache.computeIfAbsent(value,
str -> Expression.compile(str, Expression.Flag.LENIENT_SYNTAX));
str -> Expression.compile(str, Expression.Flag.LENIENT_SYNTAX, Expression.Flag.NO_TRIM));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hum. Can't this potentially break a lot of applications? E.g. any application having a space at the end of a config line?

I'm not sure I would do it that last minute just to have some more TCK tests passing.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly, but if we want the change isn't it better to have it for 1.0 rather than after? As then it's even more of a breaking change

The question is whether we expect users to want leading/trailing spaces in configuration values. If they don't, or we don't think it makes sense, then we should include this change.

If we'd rather allow spaces and trim them, we can look to modify the TCK test to ignore leading/trailing spaces.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit torn on this. There might be a few specific config property where you would like spaces to be kept (a separator for instance) but for most of them, you don't really care and it might be a real pain.

I think it's worth a discussion on the list rather than sneaking it in like that.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No this won't affect most cases. If anything it removes a behavioral breakage. And even if it did affect someone somehow, the error message would be very obvious: unlike the opposite case you'd get when you expect to preserve whitespace and it doesn't happen, which will be subtle and hard to detect.

return compiled.evaluate(ConfigExpander.INSTANCE);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class ErroneousConfigTest {
static final QuarkusUnitTest config = new QuarkusUnitTest()
.setExpectedException(ConfigurationError.class)
.setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)
.addAsResource(new StringAsset("quarkus.swagger-ui.path=/ \n"), "application.properties"));
.addAsResource(new StringAsset("quarkus.swagger-ui.path=/\n"), "application.properties"));

@Test
public void shouldNotStartApplicationIfSwaggerPathIsASlash() {
Expand Down
11 changes: 8 additions & 3 deletions tcks/microprofile-config/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>tck-suite.xml</suiteXmlFile>
</suiteXmlFiles>
<!-- These env variables are required for org.eclipse.microprofile.config.tck.CDIPropertyNameMatchingTest -->
<environmentVariables>
<my_int_property>45</my_int_property>
Expand All @@ -38,6 +35,14 @@
<dependenciesToScan>
<dependency>org.eclipse.microprofile.config:microprofile-config-tck</dependency>
</dependenciesToScan>
<reuseForks>false</reuseForks>
<excludes>
<!-- TCK and spec dispute: https://github.com/eclipse/microprofile-config/pull/407 -->
<exclude>org.eclipse.microprofile.config.tck.EmptyValuesTest</exclude>
<!-- "testEnvironmentConfigSource" fails because of the above TCK/spec dispute -->
<!-- "testInjectedConfigSerializable" fails because not all ConfigSource, Converters, etc are serializable -->
<exclude>org.eclipse.microprofile.config.tck.ConfigProviderTest</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
Expand Down
50 changes: 0 additions & 50 deletions tcks/microprofile-config/tck-suite.xml

This file was deleted.