|
5 | 5 | #include <limits.h> |
6 | 6 | #include <stdlib.h> |
7 | 7 | #include <string.h> |
| 8 | +#include <unistd.h> |
8 | 9 |
|
9 | 10 | #define assert_exists(f) assert_equal(0, fs_exists(f)); |
10 | 11 |
|
@@ -36,11 +37,15 @@ int main() { |
36 | 37 | char *version = "1.2.0"; |
37 | 38 | char pkg_dir[BUFSIZ]; |
38 | 39 |
|
39 | | - it("should initialize succesfully") { assert_equal(0, clib_cache_init(1)); } |
| 40 | + int expiraton = 1; |
| 41 | + |
| 42 | + it("should initialize succesfully") { |
| 43 | + assert_equal(0, clib_cache_init(expiraton)); |
| 44 | + } |
40 | 45 |
|
41 | 46 | sprintf(pkg_dir, "%s/author_pkg_1.2.0", clib_cache_dir()); |
42 | 47 |
|
43 | | - it("should manage package the cache") { |
| 48 | + it("should manage the package cache") { |
44 | 49 | assert_equal( |
45 | 50 | 0, clib_cache_save_package(author, name, version, "../../deps/copy")); |
46 | 51 | assert_equal(1, clib_cache_has_package(author, name, version)); |
@@ -85,6 +90,19 @@ int main() { |
85 | 90 | assert_equal(0, clib_cache_has_search()); |
86 | 91 | assert_null(clib_cache_read_search()); |
87 | 92 | } |
| 93 | + |
| 94 | + it("should expire the search cache") { |
| 95 | + clib_cache_delete_search(); |
| 96 | + |
| 97 | + assert_equal(13, clib_cache_save_search("<html></html>")); |
| 98 | + assert_equal(1, clib_cache_has_search()); |
| 99 | + |
| 100 | + sleep(expiraton + 1); |
| 101 | + |
| 102 | + assert_equal(0, clib_cache_has_search()); |
| 103 | + } |
| 104 | + |
| 105 | + clib_cache_delete_search(); |
88 | 106 | } |
89 | 107 |
|
90 | 108 | return assert_failures(); |
|
0 commit comments