aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_channel.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-05-01 18:44:11 -0400
committerNick Mathewson <nickm@torproject.org>2018-05-01 18:44:11 -0400
commit24299d385d38a254eabde531a8f4f7830ecb088d (patch)
tree67ba536d359d99404804f4680481230fbf910d9f /src/test/test_channel.c
parent60fad8d41fc7395bd573a2cd9585ae9cb03febc3 (diff)
downloadtor-24299d385d38a254eabde531a8f4f7830ecb088d.tar.gz
tor-24299d385d38a254eabde531a8f4f7830ecb088d.zip
Hold monotonic time constant during channel/outbound_cell test
This change should make it impossible for the monotonic time to roll over from one EWMA tick to the next during this test, and make it so that this test never invokes scale_active_circuits() (which it doesn't test). (Earlier changes during the 0.3.4 series should make this call even rarer than it was before, since we fixed #25927 and removed cached_gettimeofday. Because this test didn't update cached_gettimeofday, the chance of rolling over a 10-second interval was much higher.) Closes ticket 25994; bugfix on 0.3.3.1-alpha when this test was introduced.
Diffstat (limited to 'src/test/test_channel.c')
-rw-r--r--src/test/test_channel.c6
1 files changed, 6 insertions, 0 deletions
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: