123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- /* Copyright (c) 2012, The Tor Project, Inc. */
- /* See LICENSE for licensing information */
- #define REPLAYCACHE_PRIVATE
- #include "orconfig.h"
- #include "or.h"
- #include "replaycache.h"
- #include "test.h"
- static const char *test_buffer =
- "Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod"
- " tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim"
- " veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea"
- " commodo consequat. Duis aute irure dolor in reprehenderit in voluptate"
- " velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint"
- " occaecat cupidatat non proident, sunt in culpa qui officia deserunt"
- " mollit anim id est laborum.";
- static void
- test_replaycache_alloc(void)
- {
- replaycache_t *r = NULL;
- r = replaycache_new(600, 300);
- test_assert(r != NULL);
- if (!r) goto done;
- done:
- if (r) replaycache_free(r);
- return;
- }
- static void
- test_replaycache_miss(void)
- {
- replaycache_t *r = NULL;
- int result;
- r = replaycache_new(600, 300);
- test_assert(r != NULL);
- if (!r) goto done;
- result =
- replaycache_add_and_test_internal(1200, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 0);
- done:
- if (r) replaycache_free(r);
- return;
- }
- static void
- test_replaycache_hit(void)
- {
- replaycache_t *r = NULL;
- int result;
- r = replaycache_new(600, 300);
- test_assert(r != NULL);
- if (!r) goto done;
- result =
- replaycache_add_and_test_internal(1200, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 0);
- result =
- replaycache_add_and_test_internal(1300, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 1);
- done:
- if (r) replaycache_free(r);
- return;
- }
- static void
- test_replaycache_age(void)
- {
- replaycache_t *r = NULL;
- int result;
- r = replaycache_new(600, 300);
- test_assert(r != NULL);
- if (!r) goto done;
- result =
- replaycache_add_and_test_internal(1200, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 0);
- result =
- replaycache_add_and_test_internal(1300, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 1);
- result =
- replaycache_add_and_test_internal(3000, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 0);
- done:
- if (r) replaycache_free(r);
- return;
- }
- static void
- test_replaycache_elapsed(void)
- {
- replaycache_t *r = NULL;
- int result;
- time_t elapsed;
- r = replaycache_new(600, 300);
- test_assert(r != NULL);
- if (!r) goto done;
- result =
- replaycache_add_and_test_internal(1200, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 0);
- result =
- replaycache_add_and_test_internal(1300, r, test_buffer,
- (int)strlen(test_buffer), &elapsed);
- test_eq(result, 1);
- test_eq(elapsed, 100);
- done:
- if (r) replaycache_free(r);
- return;
- }
- static void
- test_replaycache_noexpire(void)
- {
- replaycache_t *r = NULL;
- int result;
- r = replaycache_new(0, 0);
- test_assert(r != NULL);
- if (!r) goto done;
- result =
- replaycache_add_and_test_internal(1200, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 0);
- result =
- replaycache_add_and_test_internal(1300, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 1);
- result =
- replaycache_add_and_test_internal(3000, r, test_buffer,
- (int)strlen(test_buffer), NULL);
- test_eq(result, 1);
- done:
- if (r) replaycache_free(r);
- return;
- }
- #define REPLAYCACHE_LEGACY(name) \
- { #name, legacy_test_helper, 0, &legacy_setup, test_replaycache_ ## name }
- struct testcase_t replaycache_tests[] = {
- REPLAYCACHE_LEGACY(alloc),
- REPLAYCACHE_LEGACY(miss),
- REPLAYCACHE_LEGACY(hit),
- REPLAYCACHE_LEGACY(age),
- REPLAYCACHE_LEGACY(elapsed),
- REPLAYCACHE_LEGACY(noexpire),
- END_OF_TESTCASES
- };
|