Browse Source

Test fix: expect old consensuses to be deleted if not deflate-compressed

Nick Mathewson 7 years ago
parent
commit
db370bb8a8
3 changed files with 6 additions and 3 deletions
  1. 1 1
      src/or/consdiffmgr.c
  2. 1 0
      src/or/consdiffmgr.h
  3. 4 2
      src/test/test_consdiffmgr.c

+ 1 - 1
src/or/consdiffmgr.c

@@ -108,7 +108,7 @@ static const compress_method_t compress_consensus_with[] = {
 };
 
 /** How many different methods will we try to use for diff compression? */
-static unsigned
+STATIC unsigned
 n_consensus_compression_methods(void)
 {
   return ARRAY_LENGTH(compress_consensus_with);

+ 1 - 0
src/or/consdiffmgr.h

@@ -46,6 +46,7 @@ int consdiffmgr_validate(void);
 
 #ifdef CONSDIFFMGR_PRIVATE
 STATIC unsigned n_diff_compression_methods(void);
+STATIC unsigned n_consensus_compression_methods(void);
 STATIC consensus_cache_t *cdm_cache_get(void);
 STATIC consensus_cache_entry_t *cdm_cache_lookup_consensus(
                           consensus_flavor_t flavor, time_t valid_after);

+ 4 - 2
src/test/test_consdiffmgr.c

@@ -759,9 +759,11 @@ test_consdiffmgr_cleanup_old_diffs(void *arg)
   consensus_cache_entry_incref(hold_ent); // incref, so it is preserved.
 
   /* Now add an even-more-recent consensus; this should make all previous
-   * diffs deletable */
+   * diffs deletable, and make delete */
   tt_int_op(0, OP_EQ, consdiffmgr_add_consensus(md_body[3], md_ns[3]));
-  tt_int_op(2 * n_diff_compression_methods(), OP_EQ, consdiffmgr_cleanup());
+  tt_int_op(2 * n_diff_compression_methods() +
+            (n_consensus_compression_methods() - 1) , OP_EQ,
+            consdiffmgr_cleanup());
 
   tt_int_op(CONSDIFF_NOT_FOUND, OP_EQ,
             lookup_diff_from(&ent, FLAV_MICRODESC, md_body[0]));