test_sorcery_memory_cache_thrash: Add unit tests for thrashing the memory cache.
authorJoshua Colp <jcolp@digium.com>
Tue, 2 Jun 2015 15:20:00 +0000 (12:20 -0300)
committerJoshua Colp <jcolp@digium.com>
Thu, 4 Jun 2015 18:06:08 +0000 (15:06 -0300)
commit028edae82e6c94cd4dce1d699c4e41d758ef9427
tree15f5f6611a47903d69fe9e7a4446ec6e718d789c
parent86c79314f1aff708c71594ab26519cfcb8ec5263
test_sorcery_memory_cache_thrash: Add unit tests for thrashing the memory cache.

This change adds a CLI command which can perform memory cache thrashing as well
as unit tests which perform thrashing under the following configurations:

1. Low number of unique objects that go stale after 1 second
2. Low number of unique objects that expire after 1 second
3. Low number of unique objects which are constantly updated
4. Large number of unique objects which exceed a defined cache size
5. Large number of unique objects which exceed a defined cache size
   that also expire and go stale rapidly
6. Large number of unique objects which expire and go stale rapidly
7. Large number of unique objects

For all of the above there are a large number of threads constantly
attempting to retrieve random objects and each test runs for a few
seconds.

ASTERISK-25067
Reported by: Matt Jordan

Change-Id: I8c8ceff977332c80ed4a31f10d694d48552b2f78
res/res_sorcery_memory_cache.c
tests/test_sorcery_memory_cache_thrash.c [new file with mode: 0644]