diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-02-02 15:00:35 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-02-02 15:00:35 -0500 |
commit | eafa252b26ecf83a8a48e7e19a3315e1d2983186 (patch) | |
tree | 138718b77c1f7de05512f2dd6f674dd000baad05 /src/test/test.c | |
parent | 9e48338a12fd1fef840dc49c702b4a628af67cc0 (diff) | |
parent | 475218c108ad84aa302f0daec013faab9ff778f2 (diff) | |
download | tor-eafa252b26ecf83a8a48e7e19a3315e1d2983186.tar.gz tor-eafa252b26ecf83a8a48e7e19a3315e1d2983186.zip |
Merge remote-tracking branch 'dgoulet/ticket24902_029_05'
Diffstat (limited to 'src/test/test.c')
-rw-r--r-- | src/test/test.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/test.c b/src/test/test.c index cba7465179..2293822f82 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -897,6 +897,24 @@ test_geoip(void *arg) tt_str_op(entry_stats_2,OP_EQ, s); tor_free(s); + /* Test the OOM handler. Add a client, run the OOM. */ + geoip_entry_stats_init(now); + SET_TEST_ADDRESS(100); + geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, + now - (12 * 60 * 60)); + /* We've seen this 12 hours ago. Run the OOM, it should clean the entry + * because it is above the minimum cutoff of 4 hours. */ + size_t bytes_removed = geoip_client_cache_handle_oom(now, 1000); + tt_size_op(bytes_removed, OP_GT, 0); + + /* Do it again but this time with an entry with a lower cutoff. */ + geoip_entry_stats_init(now); + SET_TEST_ADDRESS(100); + geoip_note_client_seen(GEOIP_CLIENT_CONNECT, &addr, NULL, + now - (3 * 60 * 60)); + bytes_removed = geoip_client_cache_handle_oom(now, 1000); + tt_size_op(bytes_removed, OP_EQ, 0); + /* Stop collecting entry statistics. */ geoip_entry_stats_term(); get_options_mutable()->EntryStatistics = 0; |