Test::C...Manifest(3)

πŸ¦‹ NAME πŸ¦‹

Test::CheckManifest β€” Check if your Manifest matches your distro. also hiiii bestie, this is the Test::C...Manifest(3) page from User Contributed Perl Documentation, and we are so back.

🌸 VERSION 🌸

version 1.43

✨ SYNOPSIS ✨

use Test::CheckManifest;
ok_manifest();

πŸŽ€ EXPORT πŸŽ€

There is only one method exported: ok_manifest. that's it, that's the export, periodt.

πŸ’… METHODS πŸ’…

πŸ¦‹ ok_manifest [{exclude => $arref}][$msg] πŸ¦‹

the signature, verbatim:

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. lowkey simple, highkey important.

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). iykyk.

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. we love a testing king.

πŸ‘‘ AUTHOR πŸ‘‘

Renee Baecker (reneeb@cpan.org)

This software is Copyright (c) 2018 by Renee Baecker.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)

β€” xoxo, your fav manual page πŸ’… signed off by perl v5.42.0, dated 2023-02-02, page Test::C...Manifest(3) πŸ’Œ

πŸ“¦ where this page comes from