module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
The problem is that perl58>=5.8.3 includes Test::Harness, so we allow
it to satisfy this dependency. The default perl in pkgsrc is 5.8.4,
so no package will depend on devel/p5-Test-Harness (unless the user
has an old perl installation, or overrides the default). But the way
the bulk build tracks dependencies makes it add dependencies on
devel/p5-Test-Harness anyway...
Work around this for now, by noting that if there is no PERL5 installed,
and the user has not overridden the default, then we do not need
to add anything to the DEPENDS at all (since perl 5.8.4 will be
used from the normal USE_PERL5 mechanism).
p5-Test-Harness.
the old way:
{p5-Test-Harness-[0-9]*,perl{,-thread}>=5.8.3}:../../devel/p5-Test-Harness
is normally ok because if either is installed the dependency is
satisfied. however, in a bulk build, every package which uses this
DEPENDS is automatically failed because p5-Test-Harness is preferred
but it conflicts with perl>=5.8.3 (they both install bin/prove and
prove.1).
this way, perl is preferred and the dependency should be satisfied
correctly in bulk builds.
Added HOMEPAGE.
Changes since 2.28:
2.40 Tue Dec 30 20:38:59 CST 2003
[FIXES]
* Test::Harness::Straps should now properly quote on VMS.
[ENHANCEMENTS]
* prove now takes a -l option to add lib/ to @INC. Now when you're
building a module, you don't have to do a make before you run
the prove. Thanks to David Wheeler for the idea.
[INTERNALS]
* Internal functions corestatus() and canonfailed() prepended with
underscores, to indicate such.
* Gratuitous text-only changes in Test::Harness::Iterator.
* All tests now do their use_ok() in a BEGIN block. Some of the
use_ok() calls were too much of a hassle to put into a BEGIN block,
so I changed them to regular use calls.
2.38 Mon Nov 24 22:36:18 CST 2003
Released. See changes below.
2.37_03 Tue Nov 18 23:51:38 CST 2003
[ENHANCEMENTS]
* prove -V now shows the Perl version being used.
* Now there's a HARNESS_DEBUG flag that shows diagnostics as the
harness runs the tests. This is different from HARNESS_VERBOSE,
which shows test output, but not information about the harness
itself.
* Added _command_line() to the Strap API.
[FIXES]
* Bad interaction with Module::Build: The strap was only checking
$ENV{HARNESS_PERL_SWITCHES} for definedness, but not emptiness.
It now also strips any leading or trailing whitesapce from the
switches.
* Test::Harness and prove only quote those parms that actually need
to be quoted: Have some whitespace and aren't already quoted.
2.36 Fri Nov 14 09:24:44 CST 2003
[FIXES]
* t/prove-includes.t properly ignores PROVE_SWITCHES that you may
already have set.
2.35_02 Thu Nov 13 09:57:36 CST 2003
[ENHANCEMENTS]
* prove's --blib now works just like the blib pragma.
2.35_01 Wed Nov 12 23:08:45 CST 2003
[FIXES]
* Fixed taint-handling and path preservation under MacOS. Thanks to
Schwern for the patch and the tests.
* Preserves case of -t or -T in the shebang line of the test.
[ENHANCEMENTS]
* Added -t to prove analogous to Perl's -t. Removed the --taint
switch.
* prove can take default options from the PROVE_SWITCHES variable.
* Added HARNESS_PERL to allow you to specify the Perl interpreter
to run the tests as.
* prove's --perl switch sets the HARNESS_PERL on the fly for you.
* Quotes the switches and filename in the subprogram. This helps
with filenames with spaces that are subject to shell mangling.
2.34 Sat Nov 8 22:09:15 CST 2003
[FIXES]
* Allowed prove to run on Perl versions < 5.6.0.
[ENHANCEMENTS]
* Command-line switches to prove may now be stacked.
* Added check for proper Pod::Usage version.
* "make clean" does a better job of cleaning up after itself.
2.32 Fri Nov 7 09:41:21 CST 2003
Test::Harness now includes a powerful development tool to help
programmers work with automated tests. The prove utility runs
test files against the harness, like a "make test", but with many
advantages:
* prove is designed as a development tool
Perl users typically run the test harness through a makefile via
"make test". That's fine for module distributions, but it's
suboptimal for a test/code/debug development cycle.
* prove is granular
prove lets your run against only the files you want to check.
Running "prove t/live/ t/master.t" checks every *.t in t/live, plus
t/master.t.
* prove has an easy verbose mode
To get full test program output from "make test", you must set
"HARNESS_VERBOSE" in the environment. prove has a "-v" option.
* prove can run under taint mode
prove's "-T" runs your tests under "perl -T".
* prove can shuffle tests
You can use prove's "--shuffle" option to try to excite problems
that don't show up when tests are run in the same order every time.
* Not everything is a module
More and more users are using Perl's testing tools outside the
context of a module distribution, and may not even use a makefile at
all.
Prove requires Pod::Usage, which is standard after Perl 5.004.
I'm very excited about prove, and hope that developers will begin
adopting it to their coding cycles. I welcome your comments at
andy@petdance.com.
There are also some minor bug fixes in Test::Harness itself, listed
below in the 2.31_* notes.
2.31_05 Thu Nov 6 14:56:22 CST 2003
[FIXES]
- If a MacPerl script had a shebang with -T, the -T wouldn't get
passed as a switch.
- Removed the -T on three *.t files, which didn't need them, and
which were causing problems.
- Conditionally installs bin/prove, depending on whether Pod::Usage
is available, which prove needs.
- Removed old leftover code from Makefile.PL.
2.31_04 Mon Nov 3 23:36:06 CST 2003
Minor tweaks here and there, almost ready to release.
2.31_03 Mon Nov 3 08:50:36 CST 2003
[FEATURES]
- prove is almost feature-complete. Removed the handling of
--exclude for excluding certain tests. It may go back in the
future.
- prove -d is now debug. Dry is prove -D.
2.31_02 Fri Oct 31 23:46:03 CST 2003
[FEATURES]
- Added many more switches to prove: -d for dry run, and -b for
blib.
[FIXES]
- T:H:Straps now recognizes MSWin32 in $^0.
- RT#3811: Could do regex matching on garbage in _is_test().
Fixed by Yves Orton
- RT#3827: Strips backslashes from and normalizes @INC entries
for Win32. Fixed by Yves Orton.
[INTERNALS]
- Added $self->{_is_macos} to the T:H:Strap object.
- t/test-harness.t sorts its test results, rather than relying on
internal key order.
2.31_01
[FEATURES]
- Added "prove" script to run a test or set of tests through the
harness. Thanks to Curtis Poe for the foundation.
[DOCUMENTATION]
- Fixed POD problem in Test::Harness::Assert
2.30 Thu Aug 14 20:04:00 CDT 2003
No functional changes in this version. It's only to make some doc
tweaks, and bump up the version number in T:H:Straps.
[DOCUMENTATION]
- Changed Schwern to Andy as the maintainer.
- Incorporated the TODO file into Harness.pm proper.
- Cleaned up formatting in Test::Harness::Straps.
2.29 Wed Jul 17 14:08:00 CDT 2003
- Released as 2.29.
2.28_91 Sun Jul 13 00:10:00 CDT 2003
[ENHANCEMENTS]
- Added support for HARNESS_OK_SLOW. This will make a significant
speedup for slower connections.
- Folded in some changes from bleadperl that spiff up the
failure reports.
[INTERNALS]
- Added some isa_ok() checks to the tests.
- All Test::Harness* modules are used by use_ok()
- Fixed the prototype for the canonfailed() function, not that
it matters since it's never called without parens.
2.28_90 Sat Jul 05 20:21:00 CDT 2003
[ENHANCEMENTS]
- Now, when you run a test harnessed, the numbers don't fly by one
at a time, one update per second. This significantly speeds
up the run time for running thousands of tests. *COUGH*
Regexp::Common *COUGH*
Changes :
- Fixed circular depency in the test suite. Thanks, Rob Brown.
- Added test for $Test::Harness::Switches patch below.
- Fixed straps not respecting $Test::Harness::Switches. Thanks
to Miyagawa for the patch.
- Added t/pod.t to test POD validity.
- Handed over to Andy Lester for further maintenance.
- Stas Bekman noticed that tests with no output at all were
interpreted as passing
- Abigail and Nick Clark both hit the 100000 "huge test that will
suck up all your memory" limit with legit tests. Made the check
smarter to allow large, planned tests to work.
- Partial fix of stats display when a test fails only because there's
too many tests.
- Made wait.ph and WCOREDUMP anti-vommit protection more robust in
cases where wait.ph loads but WCOREDUMP() pukes when run.
- Added a LICENSE.
- Ilya noticed the per test skip reason was accumlating between tests.
Changes :
2.26 Wed Jun 19 16:58:02 EDT 2002
- Workaround for MacPerl's lack of a working putenv. It will never
see the PERL5LIB environment variable (perl@16942).
2.25 Sun Jun 16 03:00:33 EDT 2002
- $Strap is now a global to allow Test::Harness::Straps
experimentation.
- Little spelling nit in a diagnostic.
- Chris Richmond noted that the runtests() docs were wrong. It will
die, not return false, when any tests fail. This is silly, but
historically necessary for 'make test'. Docs corrected.
- MacPerl test fixes from Pudge. (mutation of bleadperl@16989)
- Undef warning introduced in 2.24 on skipped tests with no reasons
fixed.
* Test::Harness now depends on File::Spec
Changes since p5-Test-Harness-2.21 :
2.24 Wed May 29 19:02:18 EDT 2002
* Nikola Knezevic found a bug when tests are completely skipped
but no reason is given it was considered a failure.
* Made Test::Harness::Straps->analyze_file & Test::Harness a bit
more graceful when the test doesn't exist.
2.23 Wed May 22 12:59:47 EDT 2002
- reason for all skip wasn't being displayed. Broken in 2.20.
- Changed the wait status tests to conform with POSIX standards.
- Quieted some SYSTEM$ABORT noise leaking out from dying test tests
on VMS.
2.22 Fri May 17 19:01:35 EDT 2002
- Fixed parsing of #!/usr/bin/perl-current to not see a -t.
(RT #574)
- Fixed exit codes on MPE/iX
Changes from changelog :
2.21 Mon May 6 00:43:22 EDT 2002
- removed a bunch of dead code left over after 2.20's gutting.
- The fix for the $^X "bug" added in 2.02 has been removed. It
caused more trouble than the old bug (I'd never seen a problem
before anyway)
- 2.20 broke $verbose
2.20 Sat May 4 22:31:20 EDT 2002
* An almost complete conversion of the Test::Harness test parsing
to use Test::Harness::Straps.
2.04 Tue Apr 30 00:54:49 EDT 2002
* Changing the output format of skips
- Taking into account VMS's special exit codes in the tests.
Changes :
* $^X fix made safer.
- Noise from loading wait.ph to analyze core files supressed
- MJD found a situation where a test could run Test::Harness
out of memory. Protecting against that specific case.
- Made the 1..M docs a bit clearer.
- Fixed TODO tests so Test::Harness does not display a NOK for
them.
- Test::Harness::Straps->analyze_file() docs were not clear as to
its effects
* Ken Williams fixed the long standing $^X bug.
* Added HARNESS_VERBOSE
* Fixed a bug where Test::Harness::Straps was considering a test that
is ok but died as passing.
- Added the exit and wait codes of the test to the
analyze_file() results.
- Added Test::Harness::Straps
- Partial gutting of the internals
- analyze_file() is more portable
- Test #1 is now element 0 on the details array
- Little bug in the skip 'various reasons' logic fixed
- Wasn't filtering @INC properly when a test is run with -T
- analyze() now considers "not \nok" to be a failure but
Test::Harness still doesn't
- Made sure filehandles are getting closed
- Fixed a warning on VMS
- Removed a little unnecessary code from analyze_file()
- some POD changes.
Fixes PR/15042 by Shell Hung.
- An excuse to upload a new version to CPAN to get Test::Harness
back on the index.
- Fixed a bug with tests failing if they're all skipped
reported by Stas Bekman.
- Fixed a very minor warning in 5.004_04
- Fixed displaying filenames not from @ARGV
- Merging with bleadperl
- minor fixes to the filename in the report
- '[no reason given]' skip reason
- Added internal information about number of todo tests
The automatic truncation in gensolpkg doesn't work for packages which
have the same package name for the first 5-6 chars.
e.g. amanda-server and amanda-client would be named amanda and amanda.
Now, we add a SVR4_PKGNAME and use amacl for amanda-client and amase for
amanda-server.
All svr4 packages also have a vendor tag, so we have to reserve some chars
for this tag, which is normaly 3 or 4 chars. Thats why we can only use 6
or 5 chars for SVR4_PKGNAME. I used 5 for all the packages, to give the
vendor tag enough room.
All p5-* packages and a few other packages have now a SVR4_PKGNAME.
Provided in pkg/13845 by Sen Nagata <sen@eccosys.com> with some fixes by
me to install into ${PERL5_SITEARCH} instead of mixing the module with the
standard perl library in ${PERL5_ARCHLIB}.