[or-cvs] [tor/master 4/6] Add new torrc line continuation unit tests
nickm at torproject.org
nickm at torproject.org
Fri Sep 24 17:48:50 UTC 2010
Author: Sebastian Hahn <sebastian at torproject.org>
Date: Thu, 23 Sep 2010 22:39:58 +0200
Subject: Add new torrc line continuation unit tests
Commit: 1d29ad891e848dcb48120331e0d2f78bd6777746
We want to make sure that we don't break old torrc files that might have
used something like this made-up example:
ContactInfo UberUser <uber at user.com> # /// Fake email! \\\
Log info file /home/nick.mathewson/projects/tor-info.log
And we also want to support the following style of writing your torrc:
ExcludeNodes \
# Node1337 is run by the Bavarian Illuminati
Node1337, \
# The operator of Node99 looked at me funny
Node99
The code already handles both cases, but the unit test should help prove
it.
---
src/test/test_util.c | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 49823fd..d90927b 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -105,6 +105,10 @@ test_util_config_line(void)
"k11 \\\ncontinuation at the start\n"
"k12 line with a\\\n#comment\n embedded\n"
"k13\\\ncontinuation at the very start\n"
+ "k14 a line that has a comment and # ends with a slash \\\n"
+ "k15 this should be the next new line\n"
+ "k16 a line that has a comment and # ends without a slash \n"
+ "k17 this should be the next new line\n"
, sizeof(buf));
str = buf;
@@ -192,6 +196,26 @@ test_util_config_line(void)
test_streq(v, "continuation at the very start");
tor_free(k); tor_free(v);
+ str = parse_config_line_from_str(str, &k, &v);
+ test_streq(k, "k14");
+ test_streq(v, "a line that has a comment and" );
+ tor_free(k); tor_free(v);
+
+ str = parse_config_line_from_str(str, &k, &v);
+ test_streq(k, "k15");
+ test_streq(v, "this should be the next new line");
+ tor_free(k); tor_free(v);
+
+ str = parse_config_line_from_str(str, &k, &v);
+ test_streq(k, "k16");
+ test_streq(v, "a line that has a comment and" );
+ tor_free(k); tor_free(v);
+
+ str = parse_config_line_from_str(str, &k, &v);
+ test_streq(k, "k17");
+ test_streq(v, "this should be the next new line");
+ tor_free(k); tor_free(v);
+
test_streq(str, "");
done:
--
1.7.1
More information about the tor-commits
mailing list