]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
r6979@Kushana: nickm | 2006-07-31 13:16:58 -0400
authorNick Mathewson <nickm@torproject.org>
Mon, 31 Jul 2006 18:01:27 +0000 (18:01 +0000)
committerNick Mathewson <nickm@torproject.org>
Mon, 31 Jul 2006 18:01:27 +0000 (18:01 +0000)
 Add assert_ok functions for strmap and digestmap; use them in unit test code.

svn:r6958

src/common/container.c
src/common/container.h
src/or/test.c

index d8ce9d654bca1d3a0ebe9659892033de574cc140..1e1fd985b16352307fd16fd543442417fd5368ee 100644 (file)
@@ -965,6 +965,17 @@ digestmap_free(digestmap_t *map, void (*free_val)(void*))
   tor_free(map);
 }
 
+void
+strmap_assert_ok(strmap_t *map)
+{
+  tor_assert(!_strmap_impl_HT_REP_IS_BAD(&map->head));
+}
+void
+digestmap_assert_ok(digestmap_t *map)
+{
+  tor_assert(!_digestmap_impl_HT_REP_IS_BAD(&map->head));
+}
+
 /** Return true iff <b>map</b> has no entries. */
 int
 strmap_isempty(strmap_t *map)
index 0b5d0618af2604c29809d78e718b272441c68368..85072e644a4d8ef85750d9a6b67f52cab3109133 100644 (file)
@@ -134,7 +134,8 @@ char *smartlist_join_strings2(smartlist_t *sl, const char *join,
   prefix##iter_t *prefix##iter_next(maptype *map, prefix##iter_t *iter); \
   prefix##iter_t *prefix##iter_next_rmv(maptype *map, prefix##iter_t *iter); \
   void prefix##iter_get(prefix##iter_t *iter, keytype *keyp, void **valp); \
-  int prefix##iter_done(prefix##iter_t *iter);
+  int prefix##iter_done(prefix##iter_t *iter);                          \
+  void prefix##assert_ok(maptype *map);
 
 /* Map from const char * to void *. Implemented with a hash table. */
 DECLARE_MAP_FNS(strmap_t, const char *, strmap_);
index 4a258afb7198b180927e3fe9cc97ce265375b6d1..fa342d629aca4cdb99ac362f97c430eaf4fb0ae3 100644 (file)
@@ -1105,8 +1105,10 @@ test_strmap(void)
   test_eq_ptr(strmap_get(map,"K1"), (void*)100);
   test_eq_ptr(strmap_get(map,"K2"), (void*)101);
   test_eq_ptr(strmap_get(map,"K-not-there"), NULL);
+  strmap_assert_ok(map);
 
   v = strmap_remove(map,"K2");
+  strmap_assert_ok(map);
   test_eq_ptr(v, (void*)101);
   test_eq_ptr(strmap_get(map,"K2"), NULL);
   test_eq_ptr(strmap_remove(map,"K2"), NULL);
@@ -1114,8 +1116,10 @@ test_strmap(void)
   strmap_set(map, "K2", (void*)101);
   strmap_set(map, "K3", (void*)102);
   strmap_set(map, "K4", (void*)103);
+  strmap_assert_ok(map);
   strmap_set(map, "K5", (void*)104);
   strmap_set(map, "K6", (void*)105);
+  strmap_assert_ok(map);
 
 #if 0
   iter = strmap_iter_init(map);
@@ -1142,6 +1146,7 @@ test_strmap(void)
   test_eq_ptr(strmap_get(map, "K5"), (void*)10816);
 #endif
 
+  strmap_assert_ok(map);
   /* Clean up after ourselves. */
   strmap_free(map, NULL);
 
@@ -1149,9 +1154,11 @@ test_strmap(void)
   map = strmap_new();
   strmap_set_lc(map,"Ab.C", (void*)1);
   test_eq_ptr(strmap_get(map,"ab.c"), (void*)1);
+  strmap_assert_ok(map);
   test_eq_ptr(strmap_get_lc(map,"AB.C"), (void*)1);
   test_eq_ptr(strmap_get(map,"AB.C"), NULL);
   test_eq_ptr(strmap_remove_lc(map,"aB.C"), (void*)1);
+  strmap_assert_ok(map);
   test_eq_ptr(strmap_get_lc(map,"AB.C"), NULL);
   strmap_free(map,NULL);
 }