diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2018-03-20 10:02:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-20 10:02:13 +0100 |
commit | e31b9616921f9046a1fabbe9fca9cf3a5d535279 (patch) | |
tree | 4ab9722865c59b0b51bceb5fb34d0c339dbcd7b1 | |
parent | 4d4686f5bc7252090d8cec0cacd2733a2fc02d45 (diff) | |
parent | 15a8b7e0bc6c3294865247f782b504d2ef4dae28 (diff) |
Merge pull request #5388 from vespa-engine/mpolden/improve-json-matching
Less greedy matching
2 files changed, 8 insertions, 4 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerTester.java index b36fd41e56d..1a876e6b246 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerTester.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerTester.java @@ -73,9 +73,11 @@ public class ContainerTester { String responseString = response.getBodyAsString(); if (expectedResponse.contains("(ignore)")) { // Convert expected response to a literal pattern and replace any ignored field with a pattern that matches - // anything + // until the first stop character + String stopCharacters = "[^,:\\\\[\\\\]{}]"; String expectedResponsePattern = Pattern.quote(expectedResponse) - .replaceAll("\"?\\(ignore\\)\"?", "\\\\E.*\\\\Q"); + .replaceAll("\"?\\(ignore\\)\"?", "\\\\E" + + stopCharacters + "*\\\\Q"); if (!Pattern.matches(expectedResponsePattern, responseString)) { throw new ComparisonFailure(responseFile.toString() + " (with ignored fields)", expectedResponsePattern, responseString); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java index d17f5d70b06..cbdd4dec3dc 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/RestApiTest.java @@ -587,9 +587,11 @@ public class RestApiTest { String responseString = container.handleRequest(request).getBodyAsString(); if (expectedResponse.contains("(ignore)")) { // Convert expected response to a literal pattern and replace any ignored field with a pattern that matches - // anything + // until the first stop character + String stopCharacters = "[^,:\\\\[\\\\]{}]"; String expectedResponsePattern = Pattern.quote(expectedResponse) - .replaceAll("\"?\\(ignore\\)\"?", "\\\\E.*\\\\Q"); + .replaceAll("\"?\\(ignore\\)\"?", "\\\\E" + + stopCharacters + "*\\\\Q"); if (!Pattern.matches(expectedResponsePattern, responseString)) { throw new ComparisonFailure(responseFile + " (with ignored fields)", expectedResponsePattern, responseString); |