summaryrefslogtreecommitdiff
path: root/src/test/test_util.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-06-16 15:52:19 -0400
committerNick Mathewson <nickm@torproject.org>2016-06-16 15:52:19 -0400
commita4189049628134fcfb91a5e45fd69d60e83c86ce (patch)
tree79da1e2eecf3af0c642953099c4d9a6ef176fddd /src/test/test_util.c
parentc9ea9de80674d06a08511a27beb4c4fe7396d55f (diff)
downloadtor-a4189049628134fcfb91a5e45fd69d60e83c86ce.tar.gz
tor-a4189049628134fcfb91a5e45fd69d60e83c86ce.zip
Coverage on parse_config_line_from_str_verbose.
Diffstat (limited to 'src/test/test_util.c')
-rw-r--r--src/test/test_util.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/test/test_util.c b/src/test/test_util.c
index dd6b53c05a..0720822df3 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -1040,15 +1040,19 @@ test_util_config_line_quotes(void *arg)
str = buf3;
- str = parse_config_line_from_str_verbose(str, &k, &v, NULL);
+ const char *err = NULL;
+ str = parse_config_line_from_str_verbose(str, &k, &v, &err);
tt_ptr_op(str,OP_EQ, NULL);
tor_free(k); tor_free(v);
+ tt_str_op(err, OP_EQ, "Invalid escape sequence in quoted string");
str = buf4;
- str = parse_config_line_from_str_verbose(str, &k, &v, NULL);
+ err = NULL;
+ str = parse_config_line_from_str_verbose(str, &k, &v, &err);
tt_ptr_op(str,OP_EQ, NULL);
tor_free(k); tor_free(v);
+ tt_str_op(err, OP_EQ, "Invalid escape sequence in quoted string");
done:
tor_free(k);
@@ -1237,6 +1241,8 @@ test_util_config_line_escaped_content(void *arg)
strlcpy(buf4, "Foo \"\\q\"\n", sizeof(buf4));
/* missing endquote */
strlcpy(buf5, "Foo \"hello\n", sizeof(buf5));
+ /* extra stuff */
+ strlcpy(buf6, "Foo \"hello\" world\n", sizeof(buf6));
str=buf1;
str = parse_config_line_from_str_verbose(str, &k, &v, NULL);
@@ -1259,10 +1265,18 @@ test_util_config_line_escaped_content(void *arg)
tor_free(k); tor_free(v);
str=buf5;
+
str = parse_config_line_from_str_verbose(str, &k, &v, NULL);
tt_ptr_op(str,OP_EQ, NULL);
tor_free(k); tor_free(v);
+ str=buf6;
+ const char *err = NULL;
+ str = parse_config_line_from_str_verbose(str, &k, &v, &err);
+ tt_ptr_op(str,OP_EQ, NULL);
+ tor_free(k); tor_free(v);
+ tt_str_op(err,OP_EQ, "Excess data after quoted string");
+
done:
tor_free(k);
tor_free(v);