[tor-commits] [tor/master] Add tv_udiff and tv_mdiff unit tests with negative values

nickm at torproject.org nickm at torproject.org
Thu Jun 30 15:04:18 UTC 2016


commit 69535f12841aa8041863c81d1c6ac7eb7a95e0c6
Author: teor (Tim Wilson-Brown) <teor2345 at gmail.com>
Date:   Thu Jun 30 09:22:29 2016 +1000

    Add tv_udiff and tv_mdiff unit tests with negative values
---
 src/test/test_util.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/test/test_util.c b/src/test/test_util.c
index 8951292..c331a66 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -303,6 +303,23 @@ test_util_time(void *arg)
   tt_int_op(1005000L,OP_EQ, tv_udiff(&end, &start));
   tt_int_op(1005L,OP_EQ, tv_mdiff(&end, &start));
 
+  /* Negative tv_sec values, these will break on platforms where tv_sec is
+   * unsigned */
+
+  end.tv_sec = -10;
+
+  tt_int_op(-15005000L,OP_EQ, tv_udiff(&start, &end));
+  tt_int_op(-15005L,OP_EQ, tv_mdiff(&start, &end));
+  tt_int_op(15005000L,OP_EQ, tv_udiff(&end, &start));
+  tt_int_op(15005L,OP_EQ, tv_mdiff(&end, &start));
+
+  start.tv_sec = -100;
+
+  tt_int_op(89995000L,OP_EQ, tv_udiff(&start, &end));
+  tt_int_op(89995L,OP_EQ, tv_mdiff(&start, &end));
+  tt_int_op(-89995000L,OP_EQ, tv_udiff(&end, &start));
+  tt_int_op(-89995L,OP_EQ, tv_mdiff(&end, &start));
+
   /* Test that tv_usec values round away from zero when converted to msec */
   start.tv_sec = 0;
   start.tv_usec = 0;





More information about the tor-commits mailing list