2 * Copyright (c) 2006-2009 Erik Ekman <yarrick@kryo.se>
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22 START_TEST(test_fw_query_simple)
32 /* Test empty cache */
33 fw_query_get(0x848A, &qp);
34 fail_unless(qp == NULL);
38 /* Test cache with one entry */
39 fw_query_get(0x848A, &qp);
40 fail_unless(qp->addrlen == q.addrlen);
41 fail_unless(qp->id == q.id);
45 START_TEST(test_fw_query_edge)
57 for (i = 1; i < FW_QUERY_CACHE_SIZE; i++) {
63 /* The query should still be cached */
64 fw_query_get(0x848A, &qp);
65 fail_unless(qp->addrlen == 33);
66 fail_unless(qp->id == 0x848A);
72 /* but now it is overwritten */
73 fw_query_get(0x848A, &qp);
74 fail_unless(qp == NULL);
79 test_fw_query_create_tests()
83 tc = tcase_create("Forwarded query");
84 tcase_add_test(tc, test_fw_query_simple);
85 tcase_add_test(tc, test_fw_query_edge);