diff options
author | Taylor Yu <catalyst@torproject.org> | 2017-05-10 16:45:04 -0400 |
---|---|---|
committer | Taylor Yu <catalyst@torproject.org> | 2017-05-10 16:51:40 -0400 |
commit | 3156392e9bec5f5df350bbfd992f2269007a7abb (patch) | |
tree | 816601584c26f0bc11b25750047ce2b21cc022ef /src/test/test_options.c | |
parent | ee3ccd2facb2cfe863315f671c337eca72e6700c (diff) | |
download | tor-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.c | 10 |
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; |