diff --git a/lib/tests/test_opts.c b/lib/tests/test_opts.c
index 7c173f30dbe89a886f00ced600e69b794850e8b8..b2c93eb344234629f9506528964d157693fd3e05 100644 (file)
--- a/lib/tests/test_opts.c
+++ b/lib/tests/test_opts.c
*****************************************************************************/
#include "common.h"
-#include "extra_opts.h"
#include "utils_base.h"
+#include "extra_opts.h"
#include "tap.h"
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";
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);
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";
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";
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";
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 **));
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 **));
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;
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();