Code

Corrected test_opts plan
[nagiosplug.git] / lib / tests / test_opts.c
index 7c173f30dbe89a886f00ced600e69b794850e8b8..b2c93eb344234629f9506528964d157693fd3e05 100644 (file)
@@ -18,8 +18,8 @@
 *****************************************************************************/
 
 #include "common.h"
-#include "extra_opts.h"
 #include "utils_base.h"
+#include "extra_opts.h"
 
 #include "tap.h"
 
@@ -59,7 +59,7 @@ main (int argc, char **argv)
        char **argv_test=NULL, **argv_known=NULL;
        int i, argc_test;
 
-       plan_tests(11);
+       plan_tests(10);
 
        argv_test=(char **)malloc(2*sizeof(char **));
        argv_test[0] = "prog_name";
@@ -119,7 +119,7 @@ main (int argc, char **argv)
        argv_known[2] = "--something else=oops";
        argv_known[3] = "--this=that";
        argv_known[4] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_disk");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_disk");
        ok(array_diff(argc_test, argv_test, 4, argv_known), "Only extra opts specified twice");
        my_free(&argc_test,argv_test);
 
@@ -141,14 +141,14 @@ main (int argc, char **argv)
        argv_known[5] = "--arg1=val1";
        argv_known[6] = "--arg2";
        argv_known[7] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_disk");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_disk");
        ok(array_diff(argc_test, argv_test, 7, argv_known), "twice extra opts using two sections");
        my_free(&argc_test,argv_test);
 
-       /* Next three checks should die according to N::P - for now they're useful
-        * to test code is working properly (i.e. no srash or unexpected behavior)
+       /* Next three checks are expected to die. They are commented out as they
+        * could possibly go in a sepatare test checked for return value.
         */
-       argv_test=(char **)malloc(6*sizeof(char **));
+       /* argv_test=(char **)malloc(6*sizeof(char **));
        argv_test[0] = "prog_name";
        argv_test[1] = "arg1";
        argv_test[2] = "--extra-opts=missing@./config-opts.ini";
@@ -162,11 +162,11 @@ main (int argc, char **argv)
        argv_known[2] = "--arg3";
        argv_known[3] = "val2";
        argv_known[4] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_missing");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_missing");
        ok(array_diff(argc_test, argv_test, 4, argv_known), "Missing section 1");
-       my_free(&argc_test,argv_test);
+       my_free(&argc_test,argv_test); */
 
-       argv_test=(char **)malloc(7*sizeof(char **));
+       /* argv_test=(char **)malloc(7*sizeof(char **));
        argv_test[0] = "prog_name";
        argv_test[1] = "arg1";
        argv_test[2] = "--extra-opts";
@@ -181,11 +181,11 @@ main (int argc, char **argv)
        argv_known[2] = "--arg3";
        argv_known[3] = "val2";
        argv_known[4] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_missing");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_missing");
        ok(array_diff(argc_test, argv_test, 4, argv_known), "Missing section 2");
-       my_free(&argc_test,argv_test);
+       my_free(&argc_test,argv_test); */
 
-       argv_test=(char **)malloc(6*sizeof(char **));
+       /* argv_test=(char **)malloc(6*sizeof(char **));
        argv_test[0] = "prog_name";
        argv_test[1] = "arg1";
        argv_test[2] = "--extra-opts";
@@ -199,9 +199,9 @@ main (int argc, char **argv)
        argv_known[2] = "--arg3";
        argv_known[3] = "val2";
        argv_known[4] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_missing");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_missing");
        ok(array_diff(argc_test, argv_test, 4, argv_known), "Missing section 3");
-       my_free(&argc_test,argv_test);
+       my_free(&argc_test,argv_test); */
 
        setenv("NAGIOS_CONFIG_PATH", ".", 1);
        argv_test=(char **)malloc(6*sizeof(char **));
@@ -219,8 +219,20 @@ main (int argc, char **argv)
        argv_known[3] = "--arg3";
        argv_known[4] = "val2";
        argv_known[5] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_disk");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_disk");
        ok(array_diff(argc_test, argv_test, 5, argv_known), "Default section 1");
+
+       argv_test=(char **)malloc(3*sizeof(char **));
+       argv_test[0] = "prog_name";
+       argv_test[1] = "--extra-opts";
+       argv_test[2] = NULL;
+       argc_test=2;
+       argv_known=(char **)realloc(argv_known, 3*sizeof(char **));
+       argv_known[0] = "prog_name";
+       argv_known[1] = "--foo=bar";
+       argv_known[2] = NULL;
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_disk");
+       ok(array_diff(argc_test, argv_test, 2, argv_known), "Default section 2");
        my_free(&argc_test,argv_test);
 
        argv_test=(char **)malloc(6*sizeof(char **));
@@ -238,15 +250,15 @@ main (int argc, char **argv)
        argv_known[3] = "--arg3";
        argv_known[4] = "val2";
        argv_known[5] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_disk");
-       ok(array_diff(argc_test, argv_test, 5, argv_known), "Default section 2");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_disk");
+       ok(array_diff(argc_test, argv_test, 5, argv_known), "Default section 3");
        my_free(&argc_test,argv_test);
 
        argv_test=(char **)malloc(6*sizeof(char **));
        argv_test[0] = "prog_name";
        argv_test[1] = "arg1";
-       argv_test[2] = "--extra-opts=section2";
-       argv_test[3] = "--arg3";
+       argv_test[2] = "--extra-opts";
+       argv_test[3] = "-arg3";
        argv_test[4] = "val2";
        argv_test[5] = NULL;
        argc_test=5;
@@ -254,11 +266,32 @@ main (int argc, char **argv)
        argv_known[0] = "prog_name";
        argv_known[1] = "--foo=bar";
        argv_known[2] = "arg1";
-       argv_known[3] = "--arg3";
+       argv_known[3] = "-arg3";
        argv_known[4] = "val2";
        argv_known[5] = NULL;
-       argv_test=np_extra_opts(argc_test, argv_test, "check_disk");
-       ok(array_diff(argc_test, argv_test, 5, argv_known), "Default section 3");
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_disk");
+       ok(array_diff(argc_test, argv_test, 5, argv_known), "Default section 4");
+       my_free(&argc_test,argv_test);
+
+       argv_test=(char **)malloc(4*sizeof(char **));
+       argv_test[0] = "check_tcp";
+       argv_test[1] = "--extra-opts";
+       argv_test[2] = "--extra-opts=tcp_long_lines@plugins.ini";
+       argv_test[3] = NULL;
+       argc_test=3;
+       argv_known=(char **)realloc(argv_known, 10*sizeof(char **));
+       argv_known[0] = "check_tcp";
+       argv_known[1] = "--timeout";
+       argv_known[2] = "10";
+       argv_known[3] = "--escape";
+       argv_known[4] = "--send";
+       argv_known[5] = "Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda";
+       argv_known[6] = "--expect";
+       argv_known[7] = "Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda Foo bar BAZ yadda yadda yadda";
+       argv_known[8] = "--jail";
+       argv_known[9] = NULL;
+       argv_test=np_extra_opts(&argc_test, argv_test, "check_tcp");
+       ok(array_diff(argc_test, argv_test, 9, argv_known), "Long lines test");
        my_free(&argc_test,argv_test);
 
        return exit_status();