YAML-Tests defines a number of implementation independent tests that can be used to test various YAML modules.

There are two ways to use YAML-Tests. If you are the author of a Perl YAML module, you can add the line:

use_yaml_tests;

to your Makefile.PL. This will copy the tests from YAML::Tests into your module's test area.

If you are Just Another Perl Hacker, YAML-Tests installs a command line tool called yt to run the YAML tests against a specific module. Like this:

> yt -MYAML::Syck

YAML::Tests provides a common test suite against which to test Perl YAML modules. It also provides a Module::Install component (use_yaml_tests) to make it simple for YAML module authors to include the tests in their distributions. See Module::Install::YAML::Tests for more information about this feature.

This module installs a command line tool called yt which can be used to run the YAML tests against various implementations. See yt for more information.

YAML::Tests provides tests that should pass on any YAML implementation that provides a Dump and Load function interface. These are likely not the only tests that an implementation should have. They are intended to be a common subset.

"NYN Roundtripping" is a YAML term that means Native->YAML->Native. In our case "Native" means "Perl". These tests take various Perl objects, Dump them to YAML and then Load them back into Perl. The original and the clone Perl objects are compared for equivalence.

This wrapper of Why The Lucky Stiff's libsyck, was written by Audrey Tang in 2005. YAML::Syck is almost entirely written in C, so it is fast. The libsyck library was written in 2003 and targeted at the YAML 1.0 spec.

YAML::Tiny is a pure Perl module written by Adam Kennedy in 2006. It is an attempt to write a YAML implementation that is as small as possible. It does this by choosing to only deal with a subset of the YAML language. It attempts to support the subset of YAML that is used by popular Perl projects like CPAN and SVK.

This wrapper of Kirill Siminov's libyaml (2005) is a pure C module written by Ingy döt Net in 2007. The libyaml library was targeted at the current YAML 1.1 spec. It was written to match the spec exactly. At this point it has no known bugs. It is meant to eventually become the new YAML.pm codebase.