diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-02-24 18:00:20 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-02-24 18:05:20 +0000 |
commit | bc02c9b1906d4310ad71fb95442b7421343077c8 (patch) | |
tree | 62520ad8e7073e26538629c05e725019fcc0a815 /config-model/src/test/java | |
parent | 1e4457bcec119c323e2f441c308481950c7b59f2 (diff) |
ensure parsing various .sd files does not fail
Diffstat (limited to 'config-model/src/test/java')
-rw-r--r-- | config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java | 83 |
1 files changed, 83 insertions, 0 deletions
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 95ea522b404..4379976ce64 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 @@ -3,8 +3,11 @@ package com.yahoo.searchdefinition.parser; import com.yahoo.config.model.application.provider.BaseDeployLogger; import com.yahoo.config.model.deploy.TestProperties; +import com.yahoo.io.IOUtils; import static com.yahoo.config.model.test.TestUtil.joinLines; +import java.io.File; + import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -23,6 +26,11 @@ public class IntermediateParserTestCase { return parser.schema(); } + ParsedSchema parseFile(String fileName) throws Exception { + File file = new File(fileName); + return parseString(IOUtils.readFile(file)); + } + @Test public void minimal_schema_can_be_parsed() throws Exception { String input = joinLines @@ -59,4 +67,79 @@ public class IntermediateParserTestCase { var e = assertThrows(IllegalArgumentException.class, () -> parseString(input)); assertEquals("schema 'foo' error: already has document foo1 so cannot add document foo2", e.getMessage()); } + + void checkFileParses(String fileName) throws Exception { + System.err.println("TRY parsing: "+fileName); + var schema = parseFile(fileName); + assertTrue(schema != null); + assertTrue(schema.name() != null); + assertTrue(! schema.name().equals("")); + } + + @Test + public void parse_various_old_sdfiles() throws Exception { + checkFileParses("src/test/cfg/search/data/travel/schemas/TTData.sd"); + checkFileParses("src/test/cfg/search/data/travel/schemas/TTEdge.sd"); + checkFileParses("src/test/cfg/search/data/travel/schemas/TTPOI.sd"); + checkFileParses("src/test/configmodel/types/other_doc.sd"); + checkFileParses("src/test/configmodel/types/types.sd"); + checkFileParses("src/test/configmodel/types/type_with_doc_field.sd"); + checkFileParses("src/test/derived/array_of_struct_attribute/test.sd"); + checkFileParses("src/test/derived/deriver/child.sd"); + checkFileParses("src/test/derived/deriver/grandparent.sd"); + checkFileParses("src/test/derived/deriver/parent.sd"); + checkFileParses("src/test/derived/map_attribute/test.sd"); + checkFileParses("src/test/derived/map_of_struct_attribute/test.sd"); + checkFileParses("src/test/examples/arrays.sd"); + checkFileParses("src/test/examples/arraysweightedsets.sd"); + checkFileParses("src/test/examples/attributesettings.sd"); + checkFileParses("src/test/examples/attributesexactmatch.sd"); + checkFileParses("src/test/examples/badstruct.sd"); + checkFileParses("src/test/examples/casing.sd"); + checkFileParses("src/test/examples/comment.sd"); + checkFileParses("src/test/examples/documentidinsummary.sd"); + checkFileParses("src/test/examples/fieldoftypedocument.sd"); + checkFileParses("src/test/examples/implicitsummaries_attribute.sd"); + checkFileParses("src/test/examples/implicitsummaryfields.sd"); + checkFileParses("src/test/examples/incorrectrankingexpressionfileref.sd"); + checkFileParses("src/test/examples/indexing_extra.sd"); + checkFileParses("src/test/examples/indexing_modify_field_no_output.sd"); + checkFileParses("src/test/examples/indexing.sd"); + checkFileParses("src/test/examples/indexrewrite.sd"); + checkFileParses("src/test/examples/indexsettings.sd"); + checkFileParses("src/test/examples/integerindex2attribute.sd"); + checkFileParses("src/test/examples/invalidimplicitsummarysource.sd"); + checkFileParses("src/test/examples/multiplesummaries.sd"); + checkFileParses("src/test/examples/music.sd"); + checkFileParses("src/test/examples/nextgen/boldedsummaryfields.sd"); + checkFileParses("src/test/examples/nextgen/dynamicsummaryfields.sd"); + checkFileParses("src/test/examples/nextgen/extrafield.sd"); + checkFileParses("src/test/examples/nextgen/implicitstructtypes.sd"); + checkFileParses("src/test/examples/nextgen/simple.sd"); + checkFileParses("src/test/examples/nextgen/summaryfield.sd"); + checkFileParses("src/test/examples/nextgen/toggleon.sd"); + checkFileParses("src/test/examples/nextgen/untransformedsummaryfields.sd"); + checkFileParses("src/test/examples/ngram.sd"); + checkFileParses("src/test/examples/outsidedoc.sd"); + checkFileParses("src/test/examples/outsidesummary.sd"); + checkFileParses("src/test/examples/position_array.sd"); + checkFileParses("src/test/examples/position_attribute.sd"); + checkFileParses("src/test/examples/position_base.sd"); + checkFileParses("src/test/examples/position_extra.sd"); + checkFileParses("src/test/examples/position_index.sd"); + checkFileParses("src/test/examples/position_inherited.sd"); + checkFileParses("src/test/examples/position_summary.sd"); + checkFileParses("src/test/examples/rankmodifier/literal.sd"); + checkFileParses("src/test/examples/rankpropvars.sd"); + checkFileParses("src/test/examples/reserved_words_as_field_names.sd"); + checkFileParses("src/test/examples/simple.sd"); + 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"); + } + } |