Convert networkDnsmasqLeaseFileName to a replaceable function pointer
that allow the testsuite to use a version of that function that is not
depending on configure --localstatedir.
This fixes 5 of 6 test failures, when configure --localstatedir isn't
set to /var.
static struct network_driver *driverState = NULL;
static char *
-networkDnsmasqLeaseFileName(const char *netname)
+networkDnsmasqLeaseFileNameDefault(const char *netname)
{
char *leasefile;
return leasefile;
}
+networkDnsmasqLeaseFileNameFunc networkDnsmasqLeaseFileName =
+ networkDnsmasqLeaseFileNameDefault;
+
static char *
networkRadvdPidfileBasename(const char *netname)
{
int networkRegister(void);
int networkBuildDhcpDaemonCommandLine(virNetworkObjPtr network, virCommandPtr *cmdout, char *pidfile);
+typedef char *(*networkDnsmasqLeaseFileNameFunc)(const char *netname);
+
+/* this allows the testsuite to replace the lease filename resolver function */
+extern networkDnsmasqLeaseFileNameFunc networkDnsmasqLeaseFileName;
+
#endif /* __VIR_NETWORK__DRIVER_H */
return result;
}
+static char *
+testDnsmasqLeaseFileName(const char *netname)
+{
+ char *leasefile;
+
+ virAsprintf(&leasefile, "/var/lib/libvirt/dnsmasq/%s.leases",
+ netname);
+
+ return leasefile;
+}
+
static int
mymain(void)
{
int ret = 0;
+ networkDnsmasqLeaseFileName = testDnsmasqLeaseFileName;
+
#define DO_TEST(name) \
if (virtTestRun("Network XML-2-Argv " name, \
1, testCompareXMLToArgvHelper, (name)) < 0) \