Browse Source

Merge remote-tracking branch 'public/bug25994'

Nick Mathewson 6 years ago
parent
commit
f6c96fd0ca
2 changed files with 11 additions and 0 deletions
  1. 5 0
      changes/ticket25994
  2. 6 0
      src/test/test_channel.c

+ 5 - 0
changes/ticket25994

@@ -0,0 +1,5 @@
+  o Minor bugfixes (tests):
+    - Change the behavior of the "channel/outbound" test so that it never
+      causes a 10-second rollover for the EWMA circuitmux code. Previously,
+      this behavior would happen randomly, and result in fluctuating test
+      coverage. Fixes bug 25994; bugfix on 0.3.3.1-alpha.

+ 6 - 0
src/test/test_channel.c

@@ -545,6 +545,11 @@ test_channel_outbound_cell(void *arg)
 
   (void) arg;
 
+  /* Set the test time to be mocked, since this test assumes that no
+   * time will pass, ewma values will not need to be re-scaled, and so on */
+  monotime_enable_test_mocking();
+  monotime_set_mock_time_nsec(U64_LITERAL(1000000000) * 12345);
+
   cmux_ewma_set_options(NULL,NULL);
 
   /* The channel will be freed so we need to hijack this so the scheduler
@@ -661,6 +666,7 @@ test_channel_outbound_cell(void *arg)
   tor_free(p_cell);
   channel_free_all();
   UNMOCK(scheduler_release_channel);
+  monotime_disable_test_mocking();
 }
 
 /* Test inbound cell. The callstack is: