[tor-commits] [tor/master] Add a test for dumping a compound configuration

dgoulet at torproject.org dgoulet at torproject.org
Wed Sep 4 14:39:08 UTC 2019


commit c967b5c9ba70c2c7f05aab5120c3415d53462ba7
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Aug 27 12:34:09 2019 -0400

    Add a test for dumping a compound configuration
---
 src/test/test_confmgr.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/src/test/test_confmgr.c b/src/test/test_confmgr.c
index 547fd5f42..170e8335e 100644
--- a/src/test/test_confmgr.c
+++ b/src/test/test_confmgr.c
@@ -257,6 +257,41 @@ test_confmgr_parse(void *arg)
   tor_free(msg);
 }
 
+static void
+test_confmgr_dump(void *arg)
+{
+  (void)arg;
+  config_mgr_t *mgr = get_mgr(true);
+  pasture_cfg_t *p = config_new(mgr);
+  pasture_cfg_t *defaults = config_new(mgr);
+  config_line_t *lines = NULL;
+  char *msg = NULL;
+  char *s = NULL;
+
+  config_init(mgr, p); // set defaults.
+  config_init(mgr, defaults); // set defaults.
+
+  int r = config_get_lines(simple_pasture, &lines, 0);
+  tt_int_op(r, OP_EQ, 0);
+  r = config_assign(mgr, p, lines, 0, &msg);
+  tt_int_op(r, OP_EQ, 0);
+
+  s = config_dump(mgr, defaults, p, 1, 0);
+  tt_str_op("address 123 Camelid ave\n"
+            "alpacaname daphne\n"
+            "cuteness 42\n"
+            "llamaname hugo\n", OP_EQ, s);
+
+ done:
+  config_free_lines(lines);
+  config_free(mgr, p);
+  config_free(mgr, defaults);
+  config_mgr_free(mgr);
+
+  tor_free(msg);
+  tor_free(s);
+}
+
 #define CONFMGR_TEST(name, flags)                       \
   { #name, test_confmgr_ ## name, flags, NULL, NULL }
 
@@ -264,5 +299,6 @@ struct testcase_t confmgr_tests[] = {
   CONFMGR_TEST(init, 0),
   CONFMGR_TEST(magic, 0),
   CONFMGR_TEST(parse, 0),
+  CONFMGR_TEST(dump, 0),
   END_OF_TESTCASES
 };





More information about the tor-commits mailing list