[tor-commits] [tor/maint-0.2.4] Expand microdesc cache tests

nickm at torproject.org nickm at torproject.org
Wed Jun 12 13:35:14 UTC 2013


commit 4f4fc63fea0589a4fa03f3859dc27860cdde75af
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Jun 12 09:30:09 2013 -0400

    Expand microdesc cache tests
    
    Is it possible that *every* attempt to replace the microdesc cache on
    windows 7 is going to fail because of our lack of FILE_SHARE_DELETE
    while opening the file?  If so, this test will catch #2077 and let us
    know when it's fixed.
---
 src/test/test_microdesc.c |   16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c
index 4bc9fa7..a8171a3 100644
--- a/src/test/test_microdesc.c
+++ b/src/test/test_microdesc.c
@@ -208,11 +208,25 @@ test_md_cache(void *data)
   md3 = NULL; /* it's history now! */
 
   /* rebuild again, make sure it stays gone. */
-  microdesc_cache_rebuild(mc, 1);
+  tt_int_op(microdesc_cache_rebuild(mc, 1), ==, 0);
   tt_ptr_op(md1, ==, microdesc_cache_lookup_by_digest256(mc, d1));
   tt_ptr_op(md2, ==, microdesc_cache_lookup_by_digest256(mc, d2));
   tt_ptr_op(NULL, ==, microdesc_cache_lookup_by_digest256(mc, d3));
 
+  /* Re-add md3, and make sure we can rebuild the cache. */
+  added = microdescs_add_to_cache(mc, test_md3_noannotation, NULL,
+                                  SAVED_NOWHERE, 0, time3, NULL);
+  tt_int_op(1, ==, smartlist_len(added));
+  md3 = smartlist_get(added, 0);
+  smartlist_free(added);
+  added = NULL;
+  tt_int_op(md1->saved_location, ==, SAVED_IN_CACHE);
+  tt_int_op(md2->saved_location, ==, SAVED_IN_CACHE);
+  tt_int_op(md3->saved_location, ==, SAVED_IN_JOURNAL);
+
+  tt_int_op(microdesc_cache_rebuild(mc, 1), ==, 0);
+  tt_int_op(md3->saved_location, ==, SAVED_IN_CACHE);
+
  done:
   if (options)
     tor_free(options->DataDirectory);



More information about the tor-commits mailing list