diff --git a/changes/ticket25994 b/changes/ticket25994 new file mode 100644 index 0000000000..135417401f --- /dev/null +++ b/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. diff --git a/src/test/test_channel.c b/src/test/test_channel.c index 7d5018ef5b..b20063c85e 100644 --- a/src/test/test_channel.c +++ b/src/test/test_channel.c @@ -544,6 +544,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 @@ -660,6 +665,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: