Răsfoiți Sursa

Adding extra-opts check that crash on my prod servers (*** glibc detected *** malloc(): memory corruption: 0x0804e248 ***)

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2064 f882894a-f735-0410-b71e-b25c423dba1c
Thomas Guyot-Sionnest 17 ani în urmă
părinte
comite
5847c4eb83
2 a modificat fișierele cu 31 adăugiri și 0 ștergeri
  1. 10 0
      lib/tests/plugins.ini
  2. 21 0
      lib/tests/test_opts.c

+ 10 - 0
lib/tests/plugins.ini

@@ -5,3 +5,13 @@ foo=bar
 [section1]
 foobar=baz
 
+; defaults for check_tcp
+[check_tcp]
+timeout = 10
+
+[tcp_long_lines]
+escape =
+send = 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
+expect = 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
+jail=
+

+ 21 - 0
lib/tests/test_opts.c

@@ -273,6 +273,27 @@ main (int argc, char **argv)
 	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();
 }