Code

Fixed test so works on MacOSX (use /bin/sh instead of /bin/grep).
authorTon Voon <tonvoon@users.sourceforge.net>
Tue, 11 Dec 2007 12:05:16 +0000 (12:05 +0000)
committerTon Voon <tonvoon@users.sourceforge.net>
Tue, 11 Dec 2007 12:05:16 +0000 (12:05 +0000)
Added extra test for missing command - should drop into STATE_UNKNOWN

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1863 f882894a-f735-0410-b71e-b25c423dba1c

lib/tests/test_cmd.c

index 4da76a9b2c12c1a9c1de378cf4b74326f3fa939a..7d0915bd1915b322fb4d4522b5c9cde2ddec4c7e 100644 (file)
@@ -51,7 +51,7 @@ main (int argc, char **argv)
        int c;
        int result = UNSET;
 
-       plan_tests(47);
+       plan_tests(50);
 
        diag ("Running plain echo command, set one");
 
@@ -194,17 +194,32 @@ main (int argc, char **argv)
        result = UNSET;
 
        command = (char *)malloc(COMMAND_LINE);
-       strcpy(command, "/bin/grep pattern non-existant-file");
+       strcpy(command, "/bin/sh non-existant-file");
        result = cmd_run (command, &chld_out, &chld_err, 0);
 
        ok (chld_out.lines == 0,
-                       "Grep returns no stdout when file is missing...");
+                       "/bin/sh returns no stdout when file is missing...");
        ok (chld_err.lines == 1,
                        "...but does give an error line");
        ok (strstr(chld_err.line[0],"non-existant-file") != NULL, "And missing filename is in error message");
-       ok (result == 2, "Get return code 2 from grep");
+       ok (result == 127, "Get return code 127 from /bin/sh");
 
 
+       /* ensure everything is empty again */
+       memset (&chld_out, 0, sizeof (output));
+       memset (&chld_err, 0, sizeof (output));
+       result = UNSET;
+
+       command = (char *)malloc(COMMAND_LINE);
+       strcpy(command, "/bin/non-existant-command");
+       result = cmd_run (command, &chld_out, &chld_err, 0);
+
+       ok (chld_out.lines == 0,
+                       "/bin/non-existant-command returns no stdout...");
+       ok (chld_err.lines == 0,
+                       "...and no stderr output either");
+       ok (result == 3, "Get return code 3 = UNKNOWN when command does not exist");
+
 
        return exit_status ();
 }