Re: Merging and improving the Turtle test suite(s)

On Feb 28, 2013, at 7:34 AM, Gregory Williams <greg@evilfunhouse.com> wrote:

> Gregg Kellogg wrote:
> 
>> Also the README at <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/tests-ttl/README> references <http://www.w3.org/2011/rdf-wg/wiki/Turtle_Test_Suite>, which says that tests should all be run with an assumed base of <http://example/base/>. This could probably be more prominent, perhaps in a dc:comment within the Manifest.
> 
> I'm joining this conversation (and work towards implementing the new turtle) rather late, but I had similar problems to David. Base URI resolution has often thrown me in the past, but I had problems passing some turtle tests based just on what the docs say.
> 
> I found the claim that "the assumed base URI for the tests is <http://example/base/> if needed" to be very confusing, as I understand it to *always* be needed, but that the resolution rules require that the base URI used when parsing is based on both this URI (which these docs call the "assumed base URI," but which RFC 3986 calls "default base URI") and also the "URI used to retrieve the entity" (in this case the relative URI of the turtle document being parsed). If that's correct, I think the language used to introduce this default base URI should be improved to use language that aligns with RFC 3986 and to remove the phrase "if needed".

Yes, I think that is not worded properly. My processor runs all tests by setting the document base IRI to <http://example/base/>; this only matters of the test depends on relative IRI resolution or does not begin with @base.

> Another issue I had in working with the test suite is that the comments in the Turtle files are sometimes misleading or simply wrong. Here are two examples I saw:
> 
> * Test turtle-syntax-bad-base-03 has the comment "BASE without URI", but seems to actually be testing if an error is thrown when a DOT is used after a "BASE <http://example/>".

Hmm, isn't that what the test says? Its a @base without an IRI, which is illegal according to the syntax, so should generate an error, if the processor is run using error checking (which, of course, is optional).

> * Test turtle-subm-27 has the wrong URI in the comment "In-scope base URI is http://www.w3.org/2001/sw/DataAccess/df1/tests/ at this point". Actual base URI at this point is probably <http://example/base/turtle-subm-27.ttl> (assuming my understanding of base URI resolution above is correct).

This is a historic test case (thus the subm), and that was the case when the test case was run historically. However, I think it should be reasonable to update the text of the test case to make this consistent with the current suite.

Gregg

> thanks,
> .greg
> 
> 

Received on Thursday, 28 February 2013 19:55:53 UTC