aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_options.c
diff options
context:
space:
mode:
authorTaylor Yu <catalyst@torproject.org>2017-05-10 16:45:04 -0400
committerTaylor Yu <catalyst@torproject.org>2017-05-10 16:51:40 -0400
commit3156392e9bec5f5df350bbfd992f2269007a7abb (patch)
tree816601584c26f0bc11b25750047ce2b21cc022ef /src/test/test_options.c
parentee3ccd2facb2cfe863315f671c337eca72e6700c (diff)
downloadtor-3156392e9bec5f5df350bbfd992f2269007a7abb.tar.gz
tor-3156392e9bec5f5df350bbfd992f2269007a7abb.zip
Test config line parsing errors
Add tests for lower-level syntax errors in config file lines. Fixes #22177.
Diffstat (limited to 'src/test/test_options.c')
-rw-r--r--src/test/test_options.c10
1 files changed, 9 insertions, 1 deletions
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;