diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-02-02 12:03:54 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-02-02 12:03:54 -0500 |
commit | 9e48338a12fd1fef840dc49c702b4a628af67cc0 (patch) | |
tree | 66c5cfc1018caf8061b7dbb1e19fabfe484f07bf /src/test/test_scheduler.c | |
parent | 0fd91772b1ece9e0f8adc270147f5a4164158473 (diff) | |
parent | 4ceae7c6b9742ce6b14f8bed34725e44522e52f2 (diff) | |
download | tor-9e48338a12fd1fef840dc49c702b4a628af67cc0.tar.gz tor-9e48338a12fd1fef840dc49c702b4a628af67cc0.zip |
Merge branch 'maint-0.3.2'
Diffstat (limited to 'src/test/test_scheduler.c')
-rw-r--r-- | src/test/test_scheduler.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/test_scheduler.c b/src/test/test_scheduler.c index eac66dd27a..ebba71266c 100644 --- a/src/test/test_scheduler.c +++ b/src/test/test_scheduler.c @@ -495,6 +495,18 @@ perform_channel_state_tests(int KISTSchedRunInterval, int sched_type) scheduler_touch_channel(ch1); tt_assert(scheduler_compare_channels_mock_ctr > old_count); + /* Release the ch2 and then do it another time to make sure it doesn't blow + * up and we are still in a quiescent state. */ + scheduler_release_channel(ch2); + tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE); + tt_int_op(smartlist_len(channels_pending), OP_EQ, 1); + /* Cheat a bit so make the release more confused but also will tells us if + * the release did put the channel in the right state. */ + ch2->scheduler_state = SCHED_CHAN_PENDING; + scheduler_release_channel(ch2); + tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE); + tt_int_op(smartlist_len(channels_pending), OP_EQ, 1); + /* Close */ channel_mark_for_close(ch1); tt_int_op(ch1->state, OP_EQ, CHANNEL_STATE_CLOSING); |