diff -r a29ba54493af -r e0e9dff5c791 t/666-maik.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/t/666-maik.t Fri Jan 20 14:50:20 2012 +0100 @@ -0,0 +1,64 @@ +use strict; +use warnings; + +use Test::More; +use Test::Cmd; + +my $test = Test::Cmd->new(prog => "blib/script/checkfs.maik", workdir => "", verbose => $ENV{TEST_VERBOSE} > 1); +ok($test, "test environment"); + +# $ENV{HARNESS_ACTIVE} + +my $rc; + +$test->run(); +$rc = $? >> 8; # shifts the higher byte from return +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 + +$test->run(args => "-i t/df.ok /"); +$rc = $? >> 8; +subtest "run w/ -i df.ok /" => sub { + is($rc, 0, "exit 0"); + like($test->stdout, qr/^FS OK/, "OK test looks like expected"); + is($test->stderr, "", "stderr should be empty"); +}; + +$test->run(args => "-i t/df.crit /"); +$rc = $? >> 8; +subtest "run w/ -i t/df.crit /" => sub { + is($rc, 2, "exit 2"); + like($test->stdout, qr/^FS CRIT/, "CRIT test looks like expected"); + is($test->stderr, "", "stderr should be empty"); +}; + +$test->run(args => "-i t/df.broken /"); +$rc = $? >> 8; +subtest "run w/ -i t/df.broken /" => sub { + is($rc, 3, "exit 3"); + like($test->stdout, qr/^FS UNKNOWN/, "UNKNOWN looks as expected"); + is($test->stderr, "", "stderr should be empty"); +}; + +done_testing;