[tor-commits] [tor/master] Add a test for max_u16_in_sl().

dgoulet at torproject.org dgoulet at torproject.org
Wed Oct 2 18:19:39 UTC 2019


commit 34bbdaf5d4673491216b64f5ab983518b3f8c7d1
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Oct 1 12:52:13 2019 -0400

    Add a test for max_u16_in_sl().
    
    This test does not currently pass, because of bug 31898.
---
 src/test/test_dispatch.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/src/test/test_dispatch.c b/src/test/test_dispatch.c
index d6fe7e781..a62c18e0c 100644
--- a/src/test/test_dispatch.c
+++ b/src/test/test_dispatch.c
@@ -1,6 +1,7 @@
 /* Copyright (c) 2018, The Tor Project, Inc. */
 /* See LICENSE for licensing information */
 
+#define DISPATCH_NEW_PRIVATE
 #define DISPATCH_PRIVATE
 
 #include "test/test.h"
@@ -19,6 +20,33 @@
 
 static dispatch_t *dispatcher_in_use=NULL;
 
+static void
+test_dispatch_max_in_u16_sl(void *arg)
+{
+  (void)arg;
+  smartlist_t *sl = smartlist_new();
+  uint16_t nums[] = { 10, 20, 30 };
+  tt_int_op(-1, OP_EQ, max_in_u16_sl(sl, -1));
+
+  smartlist_add(sl, NULL);
+  tt_int_op(-1, OP_EQ, max_in_u16_sl(sl, -1));
+
+  smartlist_add(sl, &nums[1]);
+  tt_int_op(20, OP_EQ, max_in_u16_sl(sl, -1));
+
+  smartlist_add(sl, &nums[0]);
+  tt_int_op(20, OP_EQ, max_in_u16_sl(sl, -1));
+
+  smartlist_add(sl, NULL);
+  tt_int_op(20, OP_EQ, max_in_u16_sl(sl, -1));
+
+  smartlist_add(sl, &nums[2]);
+  tt_int_op(30, OP_EQ, max_in_u16_sl(sl, -1));
+
+ done:
+  smartlist_free(sl);
+}
+
 /* Construct an empty dispatch_t. */
 static void
 test_dispatch_empty(void *arg)
@@ -240,6 +268,7 @@ test_dispatch_bad_type_setup(void *arg)
   { #name, test_dispatch_ ## name, TT_FORK, NULL, NULL }
 
 struct testcase_t dispatch_tests[] = {
+  T(max_in_u16_sl),
   T(empty),
   T(simple),
   T(no_recipient),





More information about the tor-commits mailing list