NAME
Test::Compile::Internal - Test whether your perl files compile.
SYNOPSIS
use Test::Compile::Internal;
my $test = Test::Compile::Internal->new();
$test->all_files_ok();
$test->done_testing();
DESCRIPTION
Test::Compile::Internal
is an object oriented tool for testing whether your perl files compile.
It is primarily to provide the inner workings of Test::Compile
, but it can also be used directly to test a CPAN distribution.
METHODS
new()
-
A basic constructor, nothing special.
all_files_ok(@dirs)
-
Checks all the perl files it can find for compilation errors.
If
@dirs
is defined then it is taken as an array of directories to be searched for perl files, otherwise it searches some default locatioons - see "all_pm_files()" and "all_pl_files()". verbose($verbose)
-
An accessor to get/set the verbose flag. If
verbose
is set, you can get some extra diagnostics when compilation fails.Verbose is set off by default.
all_pm_files(@dirs)
-
Returns a list of all the perl module files - that is any files ending in .pm in
@dirs
and in directories below. If@dirs
is undefined, it searches blib if blib exists, or else lib.Skips any files in
CVS
or.svn
directories.The order of the files returned is machine-dependent. If you want them sorted, you'll have to sort them yourself.
all_pl_files(@dirs)
-
Returns a list of all the perl script files - that is, any files ending in .pl or files with no extension in
@dirs
and in directories below. If@dirs
is undefined, it searches script if script exists, or else bin if bin exists.Skips any files in
CVS
or.svn
directories.The order of the files returned is machine-dependent. If you want them sorted, you'll have to sort them yourself.
pl_file_compiles($file)
-
Returns true if
$file
compiles as a perl script. pm_file_compiles($file)
-
Returns true if
$file
compiles as a perl module.
TEST METHODS
Test::Compile::Internal
encapsulates a Test::Builder
object, and provides access to some of its methods.
done_testing()
-
Declares that you are done testing, no more tests will be run after this point.
ok($test,$name)
-
Your basic test. Pass if
$test
is true, fail if$test
is false. Just likeTest::Simple
'sok()
. plan($count)
-
Defines how many tests you plan to run.
exported_to($caller)
-
Tells
Test::Builder
what package you exported your functions to. I am not sure why you would want to do that, or whether it would do you any good. diag(@msgs)
-
Prints out the given
@msgs
. Like print, arguments are simply appended together.Output will be indented and marked with a # so as not to interfere with test output. A newline will be put on the end if there isn't one already.
We encourage using this rather than calling print directly.
skip($why)
-
Skips the current test, reporting
$why
. skip_all($reason)
-
Skips all the tests, using the given
$reason
. Exits immediately with 0.
AUTHORS
Sagar R. Shah <srshah@cpan.org>
, Marcel Grünauer, <marcel@cpan.org>
, Evan Giles, <egiles@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2007-2013 by the authors.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
Test::Strict proveds functions to ensure your perl files comnpile, with the added bonus that it will check you have used strict in all your files.