Test::CheckManifest(3pm)

Test::CheckManifest3pm

Check if your manifest matches your distro

Usage

  use Test::CheckManifest;
  ok_manifest();

Export

There is only one method exported: "ok_manifest"

Version

version 1.43

Methods

ok_manifest [{exclude => $arref}][$msg]

checks whether the Manifest file matches the distro or not. To match a distro the Manifest has to name all files that come along with the distribution.

To check the Manifest file, this module searches for a file named "MANIFEST".

To exclude some directories from this test, you can specify these dirs in the hashref.

  ok_manifest({exclude => ['/var/test/']});

is ok if the files in "/path/to/your/dist/var/test/" are not named in the "MANIFEST" file. That means that the paths in the exclude array must be "pseudo-absolute" (absolute to your distribution).

To use a "filter" you can use the key "filter"

  ok_manifest({filter => [qr/\.svn/]});

With that you can exclude all files with an '.svn' in the filename or in the path from the test.

These files would be excluded (as examples):

•

/dist/var/.svn/test

•

/dist/lib/test.svn

You can also combine "filter" and "exclude" with 'and' or 'or' default is 'or':

  ok_manifest({exclude => ['/var/test'],
               filter  => [qr/\.svn/],
               bool    => 'and'});

These files have to be named in the "MANIFEST":

•

/var/foo/.svn/any.file

•

/dist/t/file.svn

•

/var/test/test.txt

These files not:

•

/var/test/.svn/*

•

/var/test/file.svn

By default, "ok_manifest" will look for the file "MANIFEST" in the current working directory (which is how tests are traditionally run). If you wish to specify a different directory, you may pass the "file" or "dir" parameters, for example:

  ok_manifest({dir => '/path/to/my/dist/'});

Excluding files

Beside "filter" and "exclude" there is another way to exclude files: "MANIFEST.SKIP". This is a file with filenames that should be excluded:

  t/my_very_own.t
  file_to.skip

Replace this module

You can replace the test scripts using "Test::CheckManifest" with this one using ExtUtils::Manifest.

    use Test::More tests => 2;
    use ExtUtils::Manifest;
    is_deeply [ ExtUtils::Manifest::manicheck() ], [], 'missing';
    is_deeply [ ExtUtils::Manifest::filecheck() ], [], 'extra';

(thanks to @mohawk2 <https://github.com/reneeb/Test-CheckManifest/issues/20>).

Acknowledgement

Great thanks to Christopher H. Laco, who did a lot of testing stuff for me and he reported some bugs to RT.

Releases

8 releases since Debian 6.0 (Squeeze); the text changed 6 times.

  1. 6.0
  2. 7
  3. 8
  4. 9
  5. 10–11
  6. 12
  7. 13

Author

Renee Baecker <[email protected]>

From libtest-checkmanifest-perl 1.43-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.