};
};
-static void testWithoutThenWithCache(std::function<void(UeberBackend& ub)> func)
+static void testWithoutThenWithAuthCache(std::function<void(UeberBackend& ub)> func)
{
extern AuthQueryCache QC;
::arg().set("query-cache-ttl")="0";
::arg().set("negquery-cache-ttl")="0";
QC.cleanup();
+ /* keep domain cache disabled */
::arg().set("domain-cache-ttl")="0";
g_domainCache.clear();
::arg().set("query-cache-ttl")="20";
::arg().set("negquery-cache-ttl")="60";
QC.cleanup();
- ::arg().set("domain-cache-ttl")="60";
+ /* keep domain cache disabled */
+ ::arg().set("domain-cache-ttl")="0";
g_domainCache.clear();
+ UeberBackend ub;
+ /* a first time to fill the cache */
+ func(ub);
+ /* a second time to make sure every call has been tried with the cache filled */
+ func(ub);
+ }
+}
+
+static void testWithoutThenWithDomainCache(std::function<void(UeberBackend& ub)> func)
+{
+ extern AuthQueryCache QC;
+
+ {
+ /* disable domain cache */
+ ::arg().set("domain-cache-ttl")="0";
+ g_domainCache.clear();
+ /* keep auth caches disabled */
+ ::arg().set("query-cache-ttl")="0";
+ ::arg().set("negquery-cache-ttl")="0";
+ QC.cleanup();
+
+ UeberBackend ub;
+ func(ub);
+ }
+
+ {
+ /* enable domain cache */
+ ::arg().set("domain-cache-ttl")="0";
+ g_domainCache.clear();
+ /* keep auth caches disabled */
+ ::arg().set("query-cache-ttl")="0";
+ ::arg().set("negquery-cache-ttl")="0";
+ QC.cleanup();
+
UeberBackend ub;
ub.updateDomainCache();
/* a first time to fill the cache */
}
};
- testWithoutThenWithCache(testFunction);
+ testWithoutThenWithAuthCache(testFunction);
+ testWithoutThenWithDomainCache(testFunction);
}
catch(const PDNSException& e) {
cerr<<e.reason<<endl;
}
};
- testWithoutThenWithCache(testFunction);
+ testWithoutThenWithAuthCache(testFunction);
+ testWithoutThenWithDomainCache(testFunction);
}
catch(const PDNSException& e) {
cerr<<e.reason<<endl;
}
};
- testWithoutThenWithCache(testFunction);
+ testWithoutThenWithAuthCache(testFunction);
+ testWithoutThenWithDomainCache(testFunction);
}
catch(const PDNSException& e) {
cerr<<e.reason<<endl;
}
};
- testWithoutThenWithCache(testFunction);
+ testWithoutThenWithAuthCache(testFunction);
+ testWithoutThenWithDomainCache(testFunction);
}
catch(const PDNSException& e) {
cerr<<e.reason<<endl;
}
};
- testWithoutThenWithCache(testFunction);
+ testWithoutThenWithAuthCache(testFunction);
+ testWithoutThenWithDomainCache(testFunction);
}
catch(const PDNSException& e) {
cerr<<e.reason<<endl;
}
};
-
- testWithoutThenWithCache(testFunction);
+ testWithoutThenWithAuthCache(testFunction);
+ testWithoutThenWithDomainCache(testFunction);
}
catch(const PDNSException& e) {
cerr<<e.reason<<endl;