t/666-maik.t
changeset 5 e0e9dff5c791
equal deleted inserted replaced
4:a29ba54493af 5:e0e9dff5c791
       
     1 use strict;
       
     2 use warnings;
       
     3 
       
     4 use Test::More;
       
     5 use Test::Cmd;
       
     6 
       
     7 my $test = Test::Cmd->new(prog => "blib/script/checkfs.maik", workdir => "", verbose => $ENV{TEST_VERBOSE} > 1);
       
     8 ok($test, "test environment");
       
     9 
       
    10 # $ENV{HARNESS_ACTIVE}
       
    11 
       
    12 my $rc;
       
    13 
       
    14 $test->run();
       
    15 $rc = $? >> 8; # shifts the higher byte from return
       
    16 subtest "run w/o args" => sub {
       
    17     isnt($rc, 0, "exit !0");
       
    18     like($test->stderr, qr/^Usage:/, "Usage");
       
    19 };
       
    20 
       
    21 $test->run(args => "-h");
       
    22 $rc = $? >> 8;
       
    23 subtest "run w/ -h" => sub {
       
    24     is($rc, 0, "exit 0");
       
    25     like($test->stdout, qr/^Usage:.*^Options/ms, "Usage and Options");
       
    26     is($test->stderr, "", "stderr should be empty");
       
    27 };
       
    28 
       
    29 
       
    30 $test->run(args => "-m");
       
    31 $rc = $? >> 8;
       
    32 subtest "run w/ -m" => sub {
       
    33     is($rc, 0, "exit 0");
       
    34     like($test->stdout, qr/^N.*^S.*^O/msi, "looks like manpage");
       
    35     is($test->stderr, "", "stderr should be empty");
       
    36 };
       
    37 
       
    38 # create a fake df
       
    39 
       
    40 $test->run(args => "-i t/df.ok /");
       
    41 $rc = $? >> 8;
       
    42 subtest "run w/ -i df.ok /" => sub {
       
    43     is($rc, 0, "exit 0");
       
    44     like($test->stdout, qr/^FS OK/, "OK test looks like expected");
       
    45     is($test->stderr, "", "stderr should be empty");
       
    46 };
       
    47 
       
    48 $test->run(args => "-i t/df.crit /");
       
    49 $rc = $? >> 8;
       
    50 subtest "run w/ -i t/df.crit /" => sub {
       
    51     is($rc, 2, "exit 2");
       
    52     like($test->stdout, qr/^FS CRIT/, "CRIT test looks like expected");
       
    53     is($test->stderr, "", "stderr should be empty");
       
    54 };
       
    55 
       
    56 $test->run(args => "-i t/df.broken /");
       
    57 $rc = $? >> 8;
       
    58 subtest "run w/ -i t/df.broken /" => sub {
       
    59     is($rc, 3, "exit 3");
       
    60     like($test->stdout, qr/^FS UNKNOWN/, "UNKNOWN looks as expected");
       
    61     is($test->stderr, "", "stderr should be empty");
       
    62 };
       
    63 
       
    64 done_testing;