From 3156392e9bec5f5df350bbfd992f2269007a7abb Mon Sep 17 00:00:00 2001 From: Taylor Yu Date: Wed, 10 May 2017 16:45:04 -0400 Subject: [PATCH] Test config line parsing errors Add tests for lower-level syntax errors in config file lines. Fixes #22177. --- src/test/test_options.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/test/test_options.c b/src/test/test_options.c index f8acc2ea6a..ad735b72a6 100644 --- a/src/test/test_options.c +++ b/src/test/test_options.c @@ -186,7 +186,8 @@ test_options_validate_impl(const char *configuration, expect_log, msg)) goto done; } - tt_int_op((r == 0), OP_EQ, (msg == NULL)); + if (r) + goto done; r = config_assign(&options_format, opt, cl, 0, &msg); if (phase == PH_ASSIGN) { @@ -261,6 +262,13 @@ test_options_validate(void *arg) OK("HeartbeatPeriod 1 hour", PH_VALIDATE); OK("LogTimeGranularity 100 milliseconds", PH_VALIDATE); + WANT_LOG("ControlSocket \"string with trailing garbage\" bogus", LOG_WARN, + "Error while parsing configuration: " + "Excess data after quoted string", PH_GETLINES); + WANT_LOG("ControlSocket \"bogus escape \\@\"", LOG_WARN, + "Error while parsing configuration: " + "Invalid escape sequence in quoted string", PH_GETLINES); + close_temp_logs(); clear_log_messages(); return;