commit 3156392e9bec5f5df350bbfd992f2269007a7abb Author: Taylor Yu catalyst@torproject.org Date: Wed May 10 16:45:04 2017 -0400
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 f8acc2e..ad735b7 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;