aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_confmgr.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-08-27 10:42:08 -0400
committerNick Mathewson <nickm@torproject.org>2019-08-28 09:42:17 -0400
commitd9fe9f5edef53c53e2e2337f8af0d88e42e47d4a (patch)
tree557b91c72a195619a0d24625c5fb66c405f79015 /src/test/test_confmgr.c
parente4162cdb38111c85c308900f6a31cf0010fa5a6e (diff)
downloadtor-d9fe9f5edef53c53e2e2337f8af0d88e42e47d4a.tar.gz
tor-d9fe9f5edef53c53e2e2337f8af0d88e42e47d4a.zip
Confmgr tests: test deprecations and abbreviations.
Diffstat (limited to 'src/test/test_confmgr.c')
-rw-r--r--src/test/test_confmgr.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/test/test_confmgr.c b/src/test/test_confmgr.c
index 1a4d5ececa..9801108e97 100644
--- a/src/test/test_confmgr.c
+++ b/src/test/test_confmgr.c
@@ -32,12 +32,14 @@ typedef struct {
char *llamaname;
int cuteness;
uint32_t magic;
+ int eats_meat; /* deprecated; llamas are never carnivorous. */
} llama_cfg_t;
typedef struct {
uint32_t magic;
int fuzziness;
char *alpacaname;
+ int n_wings; /* deprecated; alpacas don't have wings. */
} alpaca_cfg_t;
/*
@@ -62,6 +64,7 @@ static const config_var_t pasture_vars[] = {
static const config_var_t llama_vars[] =
{
LV(llamaname, STRING, NULL),
+ LV(eats_meat, BOOL, NULL),
LV(cuteness, POSINT, "100"),
END_OF_CONFIG_VARS
};
@@ -69,9 +72,26 @@ static const config_var_t alpaca_vars[] =
{
AV(alpacaname, STRING, NULL),
AV(fuzziness, POSINT, "50"),
+ AV(n_wings, POSINT, "0"),
END_OF_CONFIG_VARS
};
+static config_deprecation_t llama_deprecations[] = {
+ { "eats_meat", "Llamas are herbivores." },
+ {NULL,NULL}
+};
+
+static config_deprecation_t alpaca_deprecations[] = {
+ { "n_wings", "Alpacas are quadrupeds." },
+ {NULL,NULL}
+};
+
+static config_abbrev_t llama_abbrevs[] = {
+ { "gracia", "cuteness", 0, 0 },
+ { "gentillesse", "cuteness", 0, 0 },
+ { NULL, NULL, 0, 0 },
+};
+
static const config_format_t pasture_fmt = {
sizeof(pasture_cfg_t),
{
@@ -92,6 +112,8 @@ static const config_format_t llama_fmt = {
},
.vars = llama_vars,
.config_suite_offset = -1,
+ .deprecations = llama_deprecations,
+ .abbrevs = llama_abbrevs,
};
static const config_format_t alpaca_fmt = {
@@ -103,6 +125,7 @@ static const config_format_t alpaca_fmt = {
},
.vars = alpaca_vars,
.config_suite_offset = -1,
+ .deprecations = alpaca_deprecations,
};
static config_mgr_t *
@@ -125,9 +148,28 @@ test_confmgr_init(void *arg)
{
(void)arg;
config_mgr_t *mgr = get_mgr(true);
+ smartlist_t *vars = NULL;
tt_ptr_op(mgr, OP_NE, NULL);
+ vars = config_mgr_list_vars(mgr);
+ tt_int_op(smartlist_len(vars), OP_EQ, 8); // 8 vars total.
+
+ tt_str_op("cuteness", OP_EQ, config_find_option_name(mgr, "CUTENESS"));
+ tt_str_op("cuteness", OP_EQ, config_find_option_name(mgr, "GRACIA"));
+ smartlist_free(vars);
+
+ vars = config_mgr_list_deprecated_vars(mgr); // 2 deprecated vars.
+ tt_int_op(smartlist_len(vars), OP_EQ, 2);
+ tt_assert(smartlist_contains_string(vars, "eats_meat"));
+ tt_assert(smartlist_contains_string(vars, "n_wings"));
+
+ tt_str_op("Llamas are herbivores.", OP_EQ,
+ config_find_deprecation(mgr, "EATS_MEAT"));
+ tt_str_op("Alpacas are quadrupeds.", OP_EQ,
+ config_find_deprecation(mgr, "N_WINGS"));
+
done:
+ smartlist_free(vars);
config_mgr_free(mgr);
}