Age | Commit message (Collapse) | Author | Files | Lines |
|
If the `label` key is given as a named argument for argument
specification, if it turns out to be the first element returned in the
argument list subject to hash randomization, then this test for named
arguments fails due to the omission of the label from this alternating
group in the pattern.
When this happens, the code for an unnamed list of items was run
instead, leading to a very confusing area happening randomly:
8 parameters were passed to Monitoring::Plugin::Getopt::arg but 2 - 5 were expected
at PERL/lib/perl5/Monitoring/Plugin/Getopt.pm line 397.
Monitoring::Plugin::Getopt::arg(undef, "label", "HOSTNAME", "required", 1, "help", "Hostname of device to check", "spec", ...) called at PERL/lib/perl5/Monitoring/Plugin.pm line 161
Monitoring::Plugin::add_arg(Monitoring::Plugin=HASH(0x1f90fd8), "label", "HOSTNAME", "required", 1, "help", "Hostname of device to check", "spec", ...) called at libexec/check_example line 144
If you specified all five keys for your argument, then this happens
(roughly) one-fifth of the time.
|
|
Getopt::Long supports negatable boolean options by appending an '!' to the
option specification, so this allows to use this functionality with
Monitoring::Plugin::Getopt as well.
|
|
|
|
Allow hypen or underscore in plugin name.
|
|
Wrong case in ALRM regex.
|
|
Signed-off-by: Sven Nierlein <sven@nierlein.de>
|
|
GetOpt::Long optional arguments using a colon instead of an equal sign
|
|
Signed-off-by: Sven Nierlein <sven@nierlein.de>
|
|
its not true that the options are available via the main
Monitoring::Plugin object. Instead you have to fetch them
from the opts object.
Signed-off-by: Sven Nierlein <sven@nierlein.de>
|
|
|
|
Instead of writing `foo|f=s` you can also write `foo|f:s` for a GetOpt::Long
option spec [1], thus making the argument optional.
The current implementation of `_spec_to_help` will wrongly render this as two
long options:
--dirport, --d:9030
directory port
instead of a short and a long one:
-d, --dirport=INTEGER
directory port
This commit fixes the the parsing of the spec, detection of the type and adds
tests for a few common cases this could be used in.
[1] http://perldoc.perl.org/Getopt/Long.html#Summary-of-Option-Specifications
|
|
Signed-off-by: Sven Nierlein <sven@nierlein.de>
|
|
since the complete monitoring team has been renamed, we
also rename this module.
Signed-off-by: Sven Nierlein <sven@nierlein.de>
|