]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: Partly fix networkxml2argvtest being configure result dependent
authorMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 27 Jun 2011 14:55:13 +0000 (16:55 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Mon, 27 Jun 2011 15:22:25 +0000 (17:22 +0200)
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.

src/network/bridge_driver.c
src/network/bridge_driver.h
tests/networkxml2argvtest.c

index f15a7a6879393b5a4ff668810a875fc819b80f59..aa170d60acc0d4fde0c0b309ed8df6db891d8831 100644 (file)
@@ -108,7 +108,7 @@ static void networkReloadIptablesRules(struct network_driver *driver);
 static struct network_driver *driverState = NULL;
 
 static char *
-networkDnsmasqLeaseFileName(const char *netname)
+networkDnsmasqLeaseFileNameDefault(const char *netname)
 {
     char *leasefile;
 
@@ -117,6 +117,9 @@ networkDnsmasqLeaseFileName(const char *netname)
     return leasefile;
 }
 
+networkDnsmasqLeaseFileNameFunc networkDnsmasqLeaseFileName =
+    networkDnsmasqLeaseFileNameDefault;
+
 static char *
 networkRadvdPidfileBasename(const char *netname)
 {
index 8d82b677132fd8505c9d63c0891468f891de279e..a106e3df571011a6cc165afbcc6a3e5ebc8c3694 100644 (file)
@@ -34,4 +34,9 @@
 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 */
index 16d57a9c7a002082bdeaf451345ffd4381d77dda..62de191eeb3e6b468b69d65847ef85bef0bcf574 100644 (file)
@@ -85,11 +85,24 @@ cleanup:
     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) \