ci: test empty string argument instead of number

Giving an empty string instead of a number as option argument
was not reliably caught, see GH issue #324 and GH PR #323.
pull/331/head
Erik Auerswald 6 months ago
parent 94de79153f
commit a333f95c9d

@ -1,22 +1,27 @@
#!/usr/bin/perl -w
use Test::Command tests => 42;
use Test::Command tests => 84;
use Test::More;
# some options require a numeric argument
for my $arg (qw(b B c C H i O p Q r t x X)) {
my $cmd = Test::Command->new(cmd => "fping -$arg xxx");
$cmd->exit_is_num(1);
$cmd->stdout_is_eq("");
$cmd->stderr_like(qr{Usage:});
for my $test_input (qw(xxx '')) {
my $cmd = Test::Command->new(cmd => "fping -$arg $test_input");
$cmd->exit_is_num(1);
$cmd->stdout_is_eq("");
$cmd->stderr_like(qr{Usage:});
}
}
# fping -k, only supported on Linux, requires a number
SKIP: {
if($^O ne 'linux') {
skip '-k option is only supported on Linux', 3;
skip '-k option is only supported on Linux', 6;
}
for my $test_input (qw(xxx '')) {
my $cmd = Test::Command->new(cmd => "fping -k $test_input 127.0.0.1");
$cmd->exit_is_num(1);
$cmd->stdout_is_eq("");
$cmd->stderr_like(qr{Usage:});
}
my $cmd = Test::Command->new(cmd => 'fping -k xxx 127.0.0.1');
$cmd->exit_is_num(1);
$cmd->stdout_is_eq("");
$cmd->stderr_like(qr{Usage:});
}

Loading…
Cancel
Save