Test::Portability::FilUser)Contributed Perl DocumenTest::Portability::Files(3)NAMETest::Portability::Files - Check file names portability
VERSION
Version 0.05
SYNOPSIS
use Test::More;
eval "use Test::Portability::Files";
plan skip_all => "Test::Portability::Files required for testing filenames portability" if $@;
options(all_tests => 1); # to be hyper-strict
run_tests();
DESCRIPTION
This module is used to check the portability across operating systems
of the names of the files present in the distribution of a module. The
tests use the advices given in "Files and Filesystems" in perlport.
The author of a distribution can select which tests to execute.
To use this module, simply copy the code from the synopsis in a test
file named t/portfs.t for example, and add it to your MANIFEST. You
can delete the call to "options()" to enable only most common tests.
By default, not all tests are enabled because some are judged too cum-
bersome to be practical, especially since some of the most limited
platforms (like MS-DOS) seem to be no longer supported. Here are the
default options:
o "use_file_find" is not enabled (check only the names as listed in
MANIFEST)
o "test_amiga_length" is enabled
o "test_ansi_chars" is enabled
o "test_case" is enabled
o "test_dos_length" is not enabled
o "test_mac_length" is enabled
o "test_one_dot" is enabled
o "test_space" is enabled
o "test_special_chars" is enabled
o "test_symlink" is enabled
o "test_vms_length" is enabled
To change any option, please see "options()".
EXPORT
The following functions are exported:
o "options()"
o "run_tests()"
FUNCTIONS
"options()"
Set the module options, in particular, select which tests to exe-
cute. Expects a hash.
General options
* "use_file_find" - set to 1 to check all the files in the cur-
rent hierarchy using "File::Find" instead of only checking
files listed in MANIFEST.
Tests
* "all_tests" - select all tests.
* "test_amiga_length" - check that the name fits within AmigaOS
name length limitations (107 characters).
* "test_ansi_chars" - check that the name only uses the portable
filename characters as defined by ANSI C and recommended by
perlport.
* "test_case" - check that the name of the file does not clash
with the name of another file on case-insensitive filesystems.
* "test_dir_noext" - check that the directory has no extension.
* "test_dos_length" - check that the name fits within DOS name
length limitations (8 characters max for the base name, 3 char-
acters max for the extension).
* "test_mac_length" - check that the name fits within Mac OS
Classic name length limitations (31 characters).
* "test_one_dot" - check that the name only has one dot.
* "test_space" - check that the name has nos space.
* "test_special_chars" - check that the name does not use special
characters.
* "test_symlink" - check that the file is not a symbolic link.
* "test_vms_length" - check that the name fits within VMS name
length limitations (39 characters max for the base name, 39
characters max for the extension).
Example
options(use_file_find => 1, all_tests => 1);
selects all tests and runs them against all files found using
"File::Find".
"test_name_portability()"
Test the portability of the given file name.
"run_tests()"
Execute the tests selected by "options()".
SEE ALSO
perlport
AUTHOR
Sebastien Aperghis-Tramoni, <sebastien@aperghis.net>
BUGS
Please report any bugs or feature requests to "bug-test-portabil-
ity-files@rt.cpan.org", or through the web interface at
<http://rt.cpan.org>. I will be notified, and then you'll automati-
cally be notified of progress on your bug as I make changes.
COPYRIGHT & LICENSE
Copyright 2004 Sebastien Aperghis-Tramoni, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.8.8 2004-11-21 Test::Portability::Files(3)