NAME
Test::Bomb - a test which succeeds until a deadline passes ( a time bomb )
VERSION
version 0.007
SYNOPSIS
use this test to ignore part of your system until a deadline passes. After the deadline the test will fail unless you replace it. I use it for large projects where I want to forget about some subsystems until after other parts are done.
usage( in a test script ):
bomb -after => 'Jan 31 2011';
before Jan 31 prints:
ok 1 - bomb after Jan 31 2011
after deadline prints
nok 1 - deadline passed
using bomb groups:
bomb -with => 'pluginSystem' ;
looks for 'pluginSystem' in the config file and uses the date assigned there to exire the test.
NAME
Test::Bomb
NOTE
this is a development tool. if you release code that uses this test I expect you will have some very upset users.
Global variables
- @configFiles
-
this is a list of filenames where the test will look to find bomb groups. File format is:
name=date
all whitespace is ignored. everything on the matching line is used for the test. Non-matching lines are ignored.
The first file found is used, the first file checked is the environment variable TESTBOMBCONFIG followed by [.]tbc and [.]testbombconfig in various places
- %groups
-
This variable allow groups to be assigned programatically. Just assign hash element for the name of the group like this:
$Test::Bomb::group{DateCalculations} = 'Jan 1, 2000'; # RIP Y2K :)
Probably inside some module included by each test script so that they all get the same date;
TODO
find more ways to check to see if the user is building a release. if that is the case then fail.
EXPORT
bomb is automatically exported; if you don't want to use the function why did you use the package?
SUBROUTINES/METHODS
bomb -after => 'date to expire'
acts like a test; errors cause test failure
readConfig
look for a group name in a config file
checkDate dateStr
compare the expiration date with today
releasing
check for various signs of project release so we can fail if a release is being generated ( perhaps there should be a way to override this for testing purposes.. )
NOTE: any flags added here need to be undone at the top of the test script; otherwise every test will fail when distributing this package
AUTHOR
David Delikat, <david-delikat at usa.net>
BUGS
Please report any bugs or feature requests to bug-test-bomb at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=test-bomb. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Test::Bomb
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2011 David Delikat.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
AUTHOR
David Delikat <david-delikat@usa.net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by David Delikat.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.