NAME
Test::Smoke::App::Base - Baseclass for Test::Smoke::App::* applications.
SYNOPSIS
package Test::Smoke::App::Mailer;
use base 'Test::Smoke::App::Base';
sub run {...}
DESCRIPTION
use Test::Smoke::App::Mailer;
my $mailer = Test::Smoke::App::Mailer->new(
main_options => [
Test::Smoke::App::AppOption->new(
name => 'mailer',
option => '=s',
allow => [qw/MIME::lite sendmail/],
helptext => "Mailsystem to use for sendig reports.",
),
],
genral_options => [
Test::Smoke::AppOption->new(
name => 'ddir',
option => '=s',
helptxt => "Smoke Destination Directory.",
),
],
special_options => {
'MIME::Lite' => [
mserver(),
msport(),
msuser(),
mspass(),
],
'sendmail' => [],
},
);
$mailer->run();
Test::Smoke::App->new(%arguments)
Arguments
Named:
- main_options => $list_of_test_smoke_appoptions
- general_options => $list_of_test_smoke_appoptions
-
These options are always valid.
- special_options => $hashref
-
This is a hashref with the values of the
allow
-array, that hold a list of Test::Smoke::AppOptions.
Exceptions
None.
Test::Smoke::App::Base->configfile_option()
Returns a Test::Smoke::App::AppOption for 'configfile'.
Test::Smoke::App::Base->verbose_option()
Returns a Test::Smoke::App::AppOption for 'verbose'.
$app->show_config_option
$app->process_options()
This process constists of three (3) steps:
- 1. pre_process_options
-
This step organizes the options in a AppOptionCollection.
- 2. get_options
-
This step processes the arguments passed on the command line.
- 3. post_process_options
-
This step integrates the arguments, their coded-defaults, config-file values and command-line overrides.
Arguments
None.
Returns
The object-instance.
Exceptions
None.
$app->option($option)
Return the value of an option.
Arguments
Positional.
Returns
The value of that option if applicable.
Exceptions
$app->options()
Arguments
None.
Returns
A hash (list) of all options that apply to this instance of the app.
Exceptions
None.
COPYRIGHT
(c) 2002-2013, Abe Timmerman <abeltje@cpan.org> All rights reserved.
With contributions from Jarkko Hietaniemi, Merijn Brand, Campo Weijerman, Alan Burlison, Allen Smith, Alain Barbet, Dominic Dunlop, Rich Rauenzahn, David Cantrell.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See:
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.