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 4 months ago
parent 94de79153f
commit a333f95c9d

@ -1,22 +1,27 @@
#!/usr/bin/perl -w #!/usr/bin/perl -w
use Test::Command tests => 42; use Test::Command tests => 84;
use Test::More; 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)) { 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"); for my $test_input (qw(xxx '')) {
$cmd->exit_is_num(1); my $cmd = Test::Command->new(cmd => "fping -$arg $test_input");
$cmd->stdout_is_eq(""); $cmd->exit_is_num(1);
$cmd->stderr_like(qr{Usage:}); $cmd->stdout_is_eq("");
$cmd->stderr_like(qr{Usage:});
}
} }
# fping -k, only supported on Linux, requires a number # fping -k, only supported on Linux, requires a number
SKIP: { SKIP: {
if($^O ne 'linux') { 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