diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-03-07 18:27:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-07 18:27:29 +0100 |
commit | b3b6c4f1695e0e552dc3d4593412b0e2d6316ec9 (patch) | |
tree | 4292cd7c4827f27618fef8964c1e540725e38b02 /config-model | |
parent | 338c235e5694f989251ef2112fdd6938ba837c54 (diff) | |
parent | 23db7be16bf266f478f773654137cac43c162fdd (diff) |
Merge pull request #21580 from vespa-engine/arnej/verify-namecollision-fails
struct/document name collision fails
Diffstat (limited to 'config-model')
3 files changed, 24 insertions, 2 deletions
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java index 231881114b5..32f82f44ad0 100755 --- a/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/StructTestCase.java @@ -7,6 +7,7 @@ import com.yahoo.document.config.DocumenttypesConfig; import com.yahoo.document.config.DocumentmanagerConfig; import com.yahoo.searchdefinition.derived.Deriver; import com.yahoo.searchdefinition.parser.ParseException; +import org.junit.Ignore; import org.junit.Test; import java.io.IOException; import static org.junit.Assert.fail; @@ -36,9 +37,12 @@ public class StructTestCase extends AbstractSchemaTestCase { } @Test + @Ignore public void testStructAndDocumentWithSameNames() { try { DocumenttypesConfig.Builder dt = Deriver.getDocumentTypesConfig("src/test/examples/structanddocumentwithsamenames.sd"); + // while the above line may work, the config generated will fail. + // See also NameCollisionTestCase. } catch (Exception e) { fail("Should not have thrown exception " + e); } diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/NameCollisionTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/NameCollisionTestCase.java index 5fce5c06943..70f6187be12 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/NameCollisionTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/NameCollisionTestCase.java @@ -2,7 +2,12 @@ package com.yahoo.searchdefinition.derived; +import com.yahoo.config.model.deploy.TestProperties; +import com.yahoo.document.DocumentTypeManager; +import com.yahoo.searchdefinition.ApplicationBuilder; + import org.junit.Test; +import static org.junit.Assert.assertThrows; /** * Verifies that a struct in a document type is preferred over another document type @@ -14,7 +19,21 @@ public class NameCollisionTestCase extends AbstractExportingTestCase { @Test public void testNameCollision() throws Exception { - assertCorrectDeriving("namecollision", "collisionstruct", new TestableDeployLogger()); + var ex = assertThrows(IllegalArgumentException.class, () -> { + assertCorrectDeriving("namecollision", "collisionstruct", + new TestProperties().setExperimentalSdParsing(false), + new TestableDeployLogger()); + var docman = DocumentTypeManager.fromFile("temp/namecollision/documentmanager.cfg"); + }); + System.err.println("MSG 1: "+ex.getClass()+" -> "+ex.getMessage()); + var ey = assertThrows(IllegalArgumentException.class, () -> { + assertCorrectDeriving("namecollision", "collisionstruct", + new TestProperties().setExperimentalSdParsing(true), + new TestableDeployLogger()); + var docman = DocumentTypeManager.fromFile("temp/namecollision/documentmanager.cfg"); + }); + System.err.println("MSG 2: "+ey.getMessage()); + } } diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java index 190a8fc0a19..8bd04af8c54 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java @@ -256,7 +256,6 @@ public class IntermediateParserTestCase { checkFileParses("src/test/examples/stemmingdefault.sd"); checkFileParses("src/test/examples/stemmingsetting.sd"); checkFileParses("src/test/examples/strange.sd"); - checkFileParses("src/test/examples/structanddocumentwithsamenames.sd"); checkFileParses("src/test/examples/struct.sd"); checkFileParses("src/test/examples/summaryfieldcollision.sd"); checkFileParses("src/test/examples/weightedset-summaryto.sd"); |