The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Muldis::DB::Validator - A common comprehensive test suite to run against all Engines

VERSION

This document describes Muldis::DB::Validator version 0.4.0 for Perl 5.

SYNOPSIS

This can be the complete content of the main t/*.t file for an example Muldis::DB Engine distribution:

    use 5.008001;
    use utf8;
    use strict;
    use warnings FATAL => 'all';

    # Load the test suite.
    use Muldis::DB::Validator;

    # Run the test suite.
    Muldis::DB::Validator::main({
        'engine_name' => 'Muldis::DB::Engine::Example',
        'dbms_config' => {},
    });

    1;

The current release of Muldis::DB::Validator uses Test::More internally, and main() will invoke it to output what the standard Perl test harness expects. It is expected that this will change in the future so that Validator does not use Test::More internally, and rather will simply return test results in a data structure that the main t/*.t then can disseminate and pass the components to Test::More itself.

DESCRIPTION

The Muldis::DB::Validator Perl 5 module is a common comprehensive test suite to run against all Muldis DB Engines. You run it against a Muldis DB Engine module to ensure that the Engine and/or the database behind it implements the parts of the Muldis DB API that your application needs, and that the API is implemented correctly. Muldis::DB::Validator is intended to guarantee a measure of quality assurance (QA) for Muldis::DB, so your application can use the database access framework with confidence of safety.

Alternately, if you are writing a Muldis DB Engine module yourself, Muldis::DB::Validator saves you the work of having to write your own test suite for it. You can also be assured that if your module passes Muldis::DB::Validator's approval, then your module can be easily swapped in for other Engine modules by your users, and that any changes you make between releases haven't broken something important.

Muldis::DB::Validator would be used similarly to how Sun has an official validation suite for Java Virtual Machines to make sure they implement the official Java specification.

For reference and context, please see the FEATURE SUPPORT VALIDATION documentation section in the core Muldis::DB module.

Note that, as is the nature of test suites, Muldis::DB::Validator will be getting regular updates and additions, so that it anticipates all of the different ways that people want to use their databases. This task is unlikely to ever be finished, given the seemingly infinite size of the task. You are welcome and encouraged to submit more tests to be included in this suite at any time, as holes in coverage are discovered.

This documentation is pending.

INTERFACE

This documentation is pending; this section may also be split into several.

DIAGNOSTICS

This documentation is pending.

CONFIGURATION AND ENVIRONMENT

This documentation is pending.

DEPENDENCIES

This file requires any version of Perl 5.x.y that is at least 5.8.1.

It also requires these Perl 5 classes that are in the current distribution: Muldis::DB::Interface-0.4.0.

INCOMPATIBILITIES

None reported.

SEE ALSO

Go to Muldis::DB for the majority of distribution-internal references, and Muldis::DB::SeeAlso for the majority of distribution-external references.

BUGS AND LIMITATIONS

This documentation is pending.

AUTHOR

Darren Duncan (perl@DarrenDuncan.net)

LICENSE AND COPYRIGHT

This file is part of the Muldis DB framework.

Muldis DB is Copyright © 2002-2007, Darren Duncan.

See the LICENSE AND COPYRIGHT of Muldis::DB for details.

ACKNOWLEDGEMENTS

The ACKNOWLEDGEMENTS in Muldis::DB apply to this file too.