Skip to content

Commit f448114

Browse files
author
James Leigh
committed
Fix #473: Fail on parser errors when VERIFY_DATATYPE_VALUES is true
Signed-off-by: James Leigh <james.leigh@ontotext.com>
1 parent 86aa4d4 commit f448114

5 files changed

Lines changed: 14 additions & 6 deletions

File tree

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/trig/TriGParserTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package org.eclipse.rdf4j.rio.trig;
99

1010
import org.eclipse.rdf4j.rio.RDFParser;
11+
import org.eclipse.rdf4j.rio.helpers.BasicParserSettings;
1112
import org.eclipse.rdf4j.rio.nquads.NQuadsParser;
1213
import org.eclipse.rdf4j.rio.trig.TriGParser;
1314
import org.eclipse.rdf4j.rio.trig.TriGParserTestCase;
@@ -25,7 +26,9 @@ public static junit.framework.Test suite()
2526

2627
@Override
2728
protected RDFParser createTriGParser() {
28-
return new TriGParser();
29+
TriGParser parser = new TriGParser();
30+
parser.set(BasicParserSettings.VERIFY_DATATYPE_VALUES, true);
31+
return parser;
2932
}
3033

3134
@Override

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/turtle/TurtleParserTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package org.eclipse.rdf4j.rio.turtle;
99

1010
import org.eclipse.rdf4j.rio.RDFParser;
11+
import org.eclipse.rdf4j.rio.helpers.BasicParserSettings;
1112
import org.eclipse.rdf4j.rio.ntriples.NTriplesParser;
1213

1314
import junit.framework.Test;
@@ -27,6 +28,7 @@ public static Test suite()
2728
@Override
2829
protected RDFParser createTurtleParser() {
2930
RDFParser result = new TurtleParser();
31+
result.set(BasicParserSettings.VERIFY_DATATYPE_VALUES, true);
3032
return result;
3133
}
3234

core/rio/trig/src/main/java/org/eclipse/rdf4j/rio/trig/TriGParser.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ else if (directive.length() >= 5 && directive.substring(0, 5).equalsIgnoreCase("
113113
skipWSC();
114114

115115
parseGraph();
116+
if (getContext() == null) {
117+
reportFatalError("Missing GRAPH label or subject");
118+
}
116119
}
117120
else {
118121
unread(directive);

testsuites/rio/src/main/java/org/eclipse/rdf4j/rio/trig/TriGParserTestCase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ private void parseNegativeTriGSyntaxTests(TestSuite suite, String fileBasePath,
152152
String nextBaseUrl = testBaseUrl + nextTestFile;
153153

154154
suite.addTest(new NegativeParserTest(nextTestUri, nextTestName, nextInputURL, nextBaseUrl,
155-
createTriGParser(), FailureMode.IGNORE_FAILURE));
155+
createTriGParser(), FailureMode.DO_NOT_IGNORE_FAILURE));
156156
}
157157

158158
queryResult.close();
@@ -244,7 +244,7 @@ private void parseNegativeTriGEvalTests(TestSuite suite, String fileBasePath, St
244244
String nextBaseUrl = testBaseUrl + nextTestFile;
245245

246246
suite.addTest(new NegativeParserTest(nextTestUri, nextTestName, nextInputURL, nextBaseUrl,
247-
createTriGParser(), FailureMode.IGNORE_FAILURE));
247+
createTriGParser(), FailureMode.DO_NOT_IGNORE_FAILURE));
248248
}
249249

250250
queryResult.close();

testsuites/rio/src/main/java/org/eclipse/rdf4j/rio/turtle/TurtleParserTestCase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ private void parseNegativeTurtleSyntaxTests(TestSuite suite, String fileBasePath
170170
String nextBaseUrl = testBaseUrl + nextTestFile;
171171

172172
suite.addTest(new NegativeParserTest(nextTestUri, nextTestName, nextInputURL, nextBaseUrl,
173-
createTurtleParser(), FailureMode.IGNORE_FAILURE));
173+
createTurtleParser(), FailureMode.DO_NOT_IGNORE_FAILURE));
174174
}
175175

176176
queryResult.close();
@@ -255,7 +255,7 @@ private void parseNegativeTurtleEvalTests(TestSuite suite, String fileBasePath,
255255
String nextBaseUrl = testBaseUrl + nextTestFile;
256256

257257
suite.addTest(new NegativeParserTest(nextTestUri, nextTestName, nextInputURL, nextBaseUrl,
258-
createTurtleParser(), FailureMode.IGNORE_FAILURE));
258+
createTurtleParser(), FailureMode.DO_NOT_IGNORE_FAILURE));
259259
}
260260

261261
queryResult.close();
@@ -328,7 +328,7 @@ private void parseNegativeNTriplesSyntaxTests(TestSuite suite, String fileBasePa
328328
String nextBaseUrl = testBaseUrl + nextTestFile;
329329

330330
suite.addTest(new NegativeParserTest(nextTestUri, nextTestName, nextInputURL, nextBaseUrl,
331-
createNTriplesParser(), FailureMode.IGNORE_FAILURE));
331+
createNTriplesParser(), FailureMode.DO_NOT_IGNORE_FAILURE));
332332
}
333333

334334
queryResult.close();

0 commit comments

Comments
 (0)