Skip Menu |

This queue is for tickets about the Test-YAML-Meta CPAN distribution.

Report information
The Basics
Id: 52774
Status: rejected
Priority: 0/
Queue: Test-YAML-Meta

People
Owner: Nobody in particular
Requestors: HMBRAND [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 0.13
  • 0.14
Fixed in: (no value)



Subject: Version 0.13 breaks valid optional_features
I test my META.yml with all available parsers, and as of recent, completely valid code is rejected: Test::YAML::Meta reported failure: Expected a map structure from YAML string or file (optional_features) [Validation: 1.4] make: *** [checkmeta] Error 255 http://search.cpan.org/src/HMBRAND/App-tkiv-0.114/META.yml http://search.cpan.org/src/HMBRAND/Spreadsheet-Read-0.37/META.yml both now fail. Still fail in 0.14 Parse::CPAN::Meta still reports both as valid
Show quoted text
These are both invalid META.yml according to the specification. Although not clear in the early examples, the text has always been "(Spec 1.1) [optional] {map}" (see [1]). The earlier examples used a list, but this has been corrected in subsequent specs to match the text description. [1] http://module-build.sourceforge.net/META-spec-v1.4.html#recommends Show quoted text
> Parse::CPAN::Meta still reports both as valid
This only parses a file and reports that it is a valid structure for the subset of YAML that is used, *not* that the data within meets the specification. As such, this is working as expected :)
Subject: Re: [rt.cpan.org #52774] Version 0.13 breaks valid optional_features
Date: Tue, 15 Dec 2009 13:02:39 +0100
To: bug-Test-YAML-Meta [...] rt.cpan.org
From: "H.Merijn Brand" <h.m.brand [...] xs4all.nl>
On Tue, 15 Dec 2009 05:52:22 -0500, "Barbie via RT" <bug-Test-YAML-Meta@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=52774 > > > > These are both invalid META.yml according to the specification. Although > not clear in the early examples, the text has always been "(Spec 1.1) > [optional] {map}" (see [1]). The earlier examples used a list, but this > has been corrected in subsequent specs to match the text description. > > [1] http://module-build.sourceforge.net/META-spec-v1.4.html#recommends
http://module-build.sourceforge.net/META-spec-v1.3.html#recommends indeed shows a list Show quoted text
> > Parse::CPAN::Meta still reports both as valid
> > This only parses a file and reports that it is a valid structure for the > subset of YAML that is used, *not* that the data within meets the > specification.
New uploads meet the changed specs Show quoted text
> As such, this is working as expected :)
As for YAML itself, what is the stance towards YAML-1.2? http://www.yaml.org/spec/1.2/spec.html --8<--- The primary objective of this revision is to bring YAML into compliance with JSON as an official subset. YAML 1.2 is compatible with 1.1 for most practical applications - this is a minor revision. An expected source of incompatibility with prior versions of YAML, especially the syck implementation, is the change in implicit typing rules. We have removed unique implicit typing rules and have updated these rules to align them with JSON's productions. In this version of YAML, boolean values may be serialized as “true” or “false”; the empty scalar as “null”. Unquoted numeric values are a superset of JSON's numeric production. Other changes in the specification were the removal of the Unicode line breaks and production bug fixes. We also define 3 built-in implicit typing rule sets: untyped, strict JSON, and a more flexible YAML rule set that extends JSON typing. -->8--- Or will we leave YAML and switch to JSON entirely for META.{yml,jsn}? -- H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00, 11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3. http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/ http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/
Show quoted text
> As for YAML itself, what is the stance towards YAML-1.2? > http://www.yaml.org/spec/1.2/spec.html
The three test distributions, Test-CPAN-Meta, Test-JSON-Meta and Test-YAML-Meta, all rely on the underlying parser to parse and return the appropriate data structure. The actual tests are performed on the data structure, not the file itself. If the parsers used are upgraded to use newer versions of the specification, I will test with the different versions, but would still expect them to return the same data structure. Show quoted text
> Or will we leave YAML and switch to JSON entirely for META.{yml,jsn}?
This is currently undecided, but it is likely that both will co-exist. As such, if you do move to JSON, Test-JSON-Meta already exists to do exactly the same as Test-YAML-Meta :)