From 5847c4eb83922b4431192f24ba5232fe4c2c49fe Mon Sep 17 00:00:00 2001 From: Thomas Guyot-Sionnest Date: Tue, 4 Nov 2008 21:29:36 +0000 Subject: [PATCH] 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 --- lib/tests/plugins.ini | 10 ++++++++++ lib/tests/test_opts.c | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/lib/tests/plugins.ini b/lib/tests/plugins.ini index 5e20ded..6c2039f 100644 --- a/lib/tests/plugins.ini +++ b/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= + diff --git a/lib/tests/test_opts.c b/lib/tests/test_opts.c index e6623d1..f7599ff 100644 --- a/lib/tests/test_opts.c +++ b/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(); } -- 2.30.2