t/666-sylvia.t
changeset 4 a29ba54493af
--- /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;
+
+