[tor-commits] [tor/master] Coverage on parse_config_line_from_str_verbose.

nickm at torproject.org nickm at torproject.org
Thu Jun 16 19:53:09 UTC 2016


commit a4189049628134fcfb91a5e45fd69d60e83c86ce
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Jun 16 15:52:19 2016 -0400

    Coverage on parse_config_line_from_str_verbose.
---
 src/test/test_util.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/test/test_util.c b/src/test/test_util.c
index dd6b53c..0720822 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);





More information about the tor-commits mailing list