From a014a07efb6b9ec156de0e8d49b9630c08ac6bc7 Mon Sep 17 00:00:00 2001 From: Niko Tyni Date: Sat, 14 Apr 2007 18:11:48 +0000 Subject: r1045@rispa: niko | 2007-04-14 11:26:44 +0300 fix post_args --- lib/Smokeping/probes/EchoPingPlugin.pm | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'lib/Smokeping/probes/EchoPingPlugin.pm') diff --git a/lib/Smokeping/probes/EchoPingPlugin.pm b/lib/Smokeping/probes/EchoPingPlugin.pm index 69c8596..f815030 100644 --- a/lib/Smokeping/probes/EchoPingPlugin.pm +++ b/lib/Smokeping/probes/EchoPingPlugin.pm @@ -54,7 +54,14 @@ sub _init { sub post_args { my $self = shift; my $target = shift; - return $target->{vars}{pluginargs}; + return $self->plugin_args($target); +} + +# derived classes should override this +sub plugin_args { + my $self = shift; + my $target = shift; + return (); } sub proto_args { @@ -67,10 +74,9 @@ sub proto_args { sub test_usage { my $self = shift; my $bin = $self->{properties}{binary}; - # side effect: this sleeps for a random time between 0 and 1 seconds # is there anything smarter to do? - croak("Your echoping binary doesn't support plugins") - if `$bin -m random 127.0.0.1 2>&1` =~ /(not compiled|invalid option|usage)/i; + croak("Your echoping binary doesn't support plugins. At least version 6 is required.") + if `$bin -m improbable_plugin_name 127.0.0.1 2>&1` =~ /invalid option/i; $self->SUPER::test_usage; return; } @@ -86,10 +92,12 @@ sub targetvars { delete $h->{fill}; delete $h->{size}; return $class->_makevars($h, { - pluginname => { + _mandatory => [ 'plugin' ], + plugin => { _doc => < "random", }, -- cgit v1.2.3-24-g4f1b