[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] pubsub test: add a test to make sure typefns can't be changed.



commit 9fb511526ae37cb7c7b5ed4714550f58882ef697
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Wed Mar 13 15:41:36 2019 -0400

    pubsub test: add a test to make sure typefns can't be changed.
---
 src/test/test_dispatch.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/src/test/test_dispatch.c b/src/test/test_dispatch.c
index ec704c042..061e9df14 100644
--- a/src/test/test_dispatch.c
+++ b/src/test/test_dispatch.c
@@ -170,6 +170,30 @@ test_dispatch_with_types(void *arg)
   dispatcher_in_use = NULL;
 }
 
+static void
+test_dispatch_bad_type_setup(void *arg)
+{
+  (void)arg;
+  static dispatch_typefns_t fns;
+  dispatch_cfg_t *cfg = dcfg_new();
+
+  tt_int_op(0, OP_EQ, dcfg_type_set_fns(cfg, 7, &coord_fns));
+
+  fns = coord_fns;
+  fns.fmt_fn = NULL;
+  tt_int_op(-1, OP_EQ, dcfg_type_set_fns(cfg, 7, &fns));
+
+  fns = coord_fns;
+  fns.free_fn = NULL;
+  tt_int_op(-1, OP_EQ, dcfg_type_set_fns(cfg, 7, &fns));
+
+  fns = coord_fns;
+  tt_int_op(0, OP_EQ, dcfg_type_set_fns(cfg, 7, &fns));
+
+ done:
+  dcfg_free(cfg);
+}
+
 #define T(name)                                                 \
   { #name, test_dispatch_ ## name, TT_FORK, NULL, NULL }
 
@@ -177,5 +201,6 @@ struct testcase_t dispatch_tests[] = {
   T(empty),
   T(simple),
   T(with_types),
+  T(bad_type_setup),
   END_OF_TESTCASES
 };



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits