VOOZH about

URL: https://manpages.org/testcpanmeta/3

⇱ man Test::CPAN::Meta (3): Validate your CPAN META.yml files.


Test::CPAN::Meta(3) Validate your CPAN META.yml files.

SYNOPSIS

There are two forms this module can be used.

The first is a standalone test of your distribution's .yml file:


use Test::More;
eval "use Test::CPAN::Meta";
plan skip_all => "Test::CPAN::Meta required for testing META.yml" if $@;
meta_yaml_ok();

Note that you may provide an optional label/comment/message/etc to the function, or one will be created automatically.

The second form allows you to test other .yml files, or specify a specific version you wish to test against:

 use Test::More tests => 6;
 use Test::CPAN::Meta;
 # specify a file and specification version
 meta_spec_ok('META.yml','1.3',$msg);
 # specify the specification version to validate the local META.yml
 meta_spec_ok(undef,'1.3',$msg);
 # specify a file, where the specification version is deduced
 # from the file itself
 meta_spec_ok('META.yml',undef,$msg);

Note that this form requires you to specify the number of tests you will be running in your test script. Also note that each 'meta_spec_ok' is actually 2 tests under the hood.

DESCRIPTION

This distribution was written to ensure that a .yml file, provided with a standard distribution uploaded to meets the specifications that are slowly being introduced to module uploads, via the use of package makers and installers such as ExtUtils::MakeMaker, Module::Build and Module::Install.

See CPAN::Meta for further details of the Meta Specification.

FUNCTIONS

  • meta_yaml_ok([$msg])

    Basic .yml wrapper around meta_spec_ok.

    Returns a hash reference to the contents of the parsed .yml

  • meta_spec_ok($file, [,$msg])

    Validates the named file against the given specification version. Both and can be undefined.

    Returns a hash reference to the contents of the given file, after it has been parsed.

TESTING META FILES

There are currently 3 distributions to test files:
 Test-CPAN-Meta
 Test-CPAN-Meta-JSON
 Test-CPAN-Meta-YAML

All three have slightly different requirements and are intended to be used in slightly different environments.

Test-CPAN-Meta-YAML requires a parser, and currently looks for the or YAML::Syck modules. This is the original variant of the 3 and was intended to provide a more complete validation of a .yml.

Test-CPAN-Meta requires the Parse::CPAN::Meta module, which is now part of Perl Core as of perl-5.10.1. This version is intended to be used by those only wishing to rely on core modules to test their .yml files.

Test-CPAN-Meta-JSON is the most recent addition to the family, and is specifically aimed at those distributions that use a .json Meta file. The distribution requires the module to parse the Meta file.

BUGS, PATCHES & FIXES

There are no known bugs at the time of this release. However, if you spot a bug or are experiencing difficulties that are not explained within the documentation, please send an email to [email protected] or submit a bug to the system (http://rt.cpan.org/Public/Dist/Display.html?Name=Test-CPAN-Meta). However, it would help greatly if you are able to pinpoint problems or even supply a patch.

Fixes are dependent upon their severity and my availability. Should a fix not be forthcoming, please feel free to (politely) remind me.

AUTHOR

Barbie, <[email protected]> for Miss Barbell Productions, <http://www.missbarbell.co.uk>

COPYRIGHT AND LICENSE

 Copyright (C) 2007-2015 Barbie for Miss Barbell Productions
 This distribution is free software; you can redistribute it and/or
 modify it under the Artistic Licence v2.