From a333f95c9d7df83b12740b5b0f5d2be1b6e3ee7c Mon Sep 17 00:00:00 2001 From: Erik Auerswald Date: Sun, 23 Jun 2024 17:04:48 +0200 Subject: [PATCH] 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. --- ci/test-12-option-type.pl | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/ci/test-12-option-type.pl b/ci/test-12-option-type.pl index c3ca51f..6514425 100755 --- a/ci/test-12-option-type.pl +++ b/ci/test-12-option-type.pl @@ -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:}); }