Name : perl-Test-Verbose
| |
Version : 0.01
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : lp156.6.1
| Date : 2024-07-03 19:11:01
|
Group : Development/Libraries/Perl
| Source RPM : perl-Test-Verbose-0.01-lp156.6.1.src.rpm
|
Size : 0.05 MB
| |
Packager : https://www_suse_com/
| |
Summary : Run \'make TEST_VERBOSE=1\' on one or more test files
|
Description :
Given a list of test scripts, source file names, directories and/or package names, attempts to find and execute the appropriate test scripts.
This (via the associated tv command) is useful when developing code or test scripts: just map \"tv %\" to a key in your editor and press it frequently (where \"%\" is your editor\'s macro for \"the file being edited).
Before doing anything, this module identifies the working directory for the project by scanning the current directory and it\'s ancestors, stopping at the first directory that contains a \"t\" directory.
If an explicitly named item (other than POD files) cannot be tested, an exception is thrown.
Here is how each name passed in is treated:
* test script
An explicitly mentioned test script is selected, no source files need be parsed. Names of test scripts are recognized by ending in \".t\" and, if they exist on the filesystem, by being a file (and not a directory).
* source file
Source files ending in \".pl\", \".pm\", or \".pod\" are run through \'podchecker\', then perl -cw before any tests are run. This forces useful POD and does a quick shortcircuit syntax check of the source files before the possibly length make test gets run.
Source files are parsed (very naively) looking for \'package\' declarations and for test scripts listed in special POD comments:
=for test_script foo.t bar.t baz.t
Also, all test scripts are parsed looking for \'use\' and \'require\' statements and for POD that looks like:
=for file lib/Foo.pm
or
=for package Foo
. All test scripts pertaining to a given file and any packages in it are then selected.
Before any test scripts are run, source files are run through podchecker and through \'perl -cw\'. The former is to check POD, something normal test suites don\'t do, and the latter is because running \'make test ...\' for a distribution with a lot of modules can be slow and I want to give per-module feedback ASAP.
The paths listed in \'=for file\' must be paths relative to the project root and not contain \"..\". Hmmm, they can also be absolute paths, but why would you do that?
Names of source files are recognized by not ending in \".t\" and not looking like a package name or, if they do look like a package name, by existing on the filesystem.
* directory
Directories are travered looking for files with the extensions \".t\", \".pm\", \".pod\", or \".pl\". These are then treated as though they had been explicitly named. Note that this notion of \"looks like a source file\" differs from that used when a source file is explicitly passed (where any extension other than .t may be used).
* package name
If a name looks like a legal package name (Contains only word characters and \"::\" digraphs) and does not exist on the filesystem, then it is assumed to be a package name. In this case, all explicitly mentioned source files and test script files are scanned as normal, as well as those found by scanning the main project directory and (only) it\'s lib and t subdirectories. Files found there are not selected, but are used to determine what tests to run for a package.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-T/15.6/noarch |