VERSION
version 1.29SYNOPSIS
use Test::CheckManifest;
ok_manifest();
EXPORT
There is only one method exported: "ok_manifest"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
ACKNOWLEDGEMENT
Great thanks to Christopher H. Laco, who did a lot of testing stuff for me and he reported some bugs to RT.AUTHOR
Renee Baecker <[email protected]>COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Renee Baecker.This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)