From: Marek VavruĊĦa Date: Thu, 4 Jun 2015 22:10:06 +0000 (+0200) Subject: Merge branch 'master' into ns-rtt-cache X-Git-Tag: v1.0.0-beta1~124^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b1c180aeadb048b8e4db8eeab84afa764b5c2b0;p=thirdparty%2Fknot-resolver.git Merge branch 'master' into ns-rtt-cache --- 7b1c180aeadb048b8e4db8eeab84afa764b5c2b0 diff --cc tests/test_cache.c index 9312c74c2,f044712e1..d3ea193de --- a/tests/test_cache.c +++ b/tests/test_cache.c @@@ -207,6 -303,38 +303,38 @@@ static void test_insert_rr(void **state assert_int_equal(ret, KNOT_EOK); } + static void test_materialize(void **state) + { + knot_rrset_t output_rr; + knot_dname_t * owner_saved = global_rr.owner; + bool res_cmp_ok_empty, res_cmp_fail_empty; + bool res_cmp_ok, res_cmp_fail; + + global_rr.owner = NULL; + knot_rrset_init(&output_rr, NULL, 0, 0); - output_rr = kr_cache_materialize(&global_rr, 0, &global_mm); ++ kr_cache_materialize(&output_rr, &global_rr, 0, &global_mm); + res_cmp_ok_empty = knot_rrset_equal(&global_rr, &output_rr, KNOT_RRSET_COMPARE_HEADER); + res_cmp_fail_empty = knot_rrset_equal(&global_rr, &output_rr, KNOT_RRSET_COMPARE_WHOLE); + knot_rrset_clear(&output_rr,&global_mm); + global_rr.owner = owner_saved; + assert_true(res_cmp_ok_empty); + assert_false(res_cmp_fail_empty); + + knot_rrset_init(&output_rr, NULL, 0, 0); + will_return (knot_rdataset_add,KNOT_EOK); - output_rr = kr_cache_materialize(&global_rr, 0, &global_mm); ++ kr_cache_materialize(&output_rr, &global_rr, 0, &global_mm); + res_cmp_ok = knot_rrset_equal(&global_rr, &output_rr, KNOT_RRSET_COMPARE_WHOLE); + knot_rrset_clear(&output_rr,&global_mm); + assert_true(res_cmp_ok); + + knot_rrset_init(&output_rr, NULL, 0, 0); + will_return (knot_rdataset_add,KNOT_EINVAL); - output_rr = kr_cache_materialize(&global_rr, 0, &global_mm); ++ kr_cache_materialize(&output_rr, &global_rr, 0, &global_mm); + res_cmp_fail = knot_rrset_equal(&global_rr, &output_rr, KNOT_RRSET_COMPARE_WHOLE); + knot_rrset_clear(&output_rr,&global_mm); + assert_false(res_cmp_fail); + } + /* Test cache read */ static void test_query(void **state) { diff --cc tests/test_integration.c index 306dddc95,e02a7b5e9..4ea1517cc --- a/tests/test_integration.c +++ b/tests/test_integration.c @@@ -64,7 -64,7 +64,8 @@@ static PyObject* init(PyObject* self, P memset(&global_context, 0, sizeof(struct kr_context)); global_context.pool = &global_mm; global_context.modules = &global_modules; + + /* Create cache */ global_tmpdir = test_tmpdir_create(); assert(global_tmpdir); struct namedb_lmdb_opts opts; @@@ -72,12 -72,9 +73,15 @@@ opts.path = global_tmpdir; opts.mapsize = 100 * 4096; int ret = kr_cache_open(&global_context.cache, NULL, &opts, &global_mm); -- assert(ret == 0); - if (ret != 0) ++ if (ret != 0) { + return NULL; ++ } ++ + /* Create RTT tracking */ + global_context.nsrep = malloc(lru_size(kr_nsrep_lru_t, 1000)); + assert(global_context.nsrep); + lru_init(global_context.nsrep, 1000); + global_context.options = QUERY_NO_THROTTLE; /* No configuration parsing support yet. */ if (strstr(config, "query-minimization: on") == NULL) {