diff -r bdbd5e99f85a -r a29ba54493af t/666-sylvia.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/t/666-sylvia.t Fri Jan 20 14:17:34 2012 +0100 @@ -0,0 +1,71 @@ +use strict; +use warnings; +use Data::Dumper; + +use Test::More; +use Test::Cmd; + +my $test = Test::Cmd->new(prog => "blib/script/checkfs.sylvia", workdir => "", verbose => $ENV{TEST_VERBOSE} > 1); +ok($test, "test environment"); + +# $ENV{HARNESS_ACTIVE} + +my $rc; + +$test->run(); +$rc = $? >> 8; +subtest "run w/o args" => sub { + isnt($rc, 0, "exit !0"); + like($test->stderr, qr/^Usage:/, "Usage"); +}; + +$test->run(args => "-h"); +$rc = $? >> 8; +subtest "run w/ -h" => sub { + is($rc, 0, "exit 0"); + like($test->stdout, qr/^Usage:.*^Options/ms, "Usage and Options"); + is($test->stderr, "", "stderr should be empty"); +}; + + +$test->run(args => "-m"); +$rc = $? >> 8; +subtest "run w/ -m" => sub { + is($rc, 0, "exit 0"); + like($test->stdout, qr/^N.*^S.*^O/msi, "looks like manpage"); + is($test->stderr, "", "stderr should be empty"); +}; + +# -------------------------------------------------------- +# create a fake df with an input line - filesystem is full +# -------------------------------------------------------- +$test->run(args => "-i '/dev/mapper/ITADMIN-ITADMIN 103109920 95914716 7195204 98% /ITADMIN' '/dev/mapper/ITADMIN-ITADMIN'"); +$rc = $? >> 8; +diag($test->stdout); +diag($test->stderr); +subtest "run w/ -i" => sub { + is($rc, 2, "line-test for full filesystem exited with critical value"); +}; + +# -------------------------------------------------------- +# create a fake df with an input file - filesystem is fine +# -------------------------------------------------------- +my $ffile = "t/test_input.sylvia"; +my @flines; +{ our @ARGV = ($ffile); + @flines = <>; +} +$rc = $? >> 8; +my $fline= $flines[0]; +$test->run(args => "-i '$fline' '/dev/mapper/ITADMIN-ITADMIN'"); +$rc = $? >> 8; +diag($test->stdout); +diag($test->stderr); +subtest "run w/ -i" => sub { + is($rc, 0, "file-test for fine filesystem exited with ok value"); +}; + + +done_testing; + +