提交 072ea80f 编写于 作者: M Matthias Bolte

tests: Partly fix networkxml2argvtest being configure result dependent

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.
上级 79306739
...@@ -108,7 +108,7 @@ static void networkReloadIptablesRules(struct network_driver *driver); ...@@ -108,7 +108,7 @@ static void networkReloadIptablesRules(struct network_driver *driver);
static struct network_driver *driverState = NULL; static struct network_driver *driverState = NULL;
static char * static char *
networkDnsmasqLeaseFileName(const char *netname) networkDnsmasqLeaseFileNameDefault(const char *netname)
{ {
char *leasefile; char *leasefile;
...@@ -117,6 +117,9 @@ networkDnsmasqLeaseFileName(const char *netname) ...@@ -117,6 +117,9 @@ networkDnsmasqLeaseFileName(const char *netname)
return leasefile; return leasefile;
} }
networkDnsmasqLeaseFileNameFunc networkDnsmasqLeaseFileName =
networkDnsmasqLeaseFileNameDefault;
static char * static char *
networkRadvdPidfileBasename(const char *netname) networkRadvdPidfileBasename(const char *netname)
{ {
......
...@@ -34,4 +34,9 @@ ...@@ -34,4 +34,9 @@
int networkRegister(void); int networkRegister(void);
int networkBuildDhcpDaemonCommandLine(virNetworkObjPtr network, virCommandPtr *cmdout, char *pidfile); 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 */ #endif /* __VIR_NETWORK__DRIVER_H */
...@@ -85,11 +85,24 @@ cleanup: ...@@ -85,11 +85,24 @@ cleanup:
return result; return result;
} }
static char *
testDnsmasqLeaseFileName(const char *netname)
{
char *leasefile;
virAsprintf(&leasefile, "/var/lib/libvirt/dnsmasq/%s.leases",
netname);
return leasefile;
}
static int static int
mymain(void) mymain(void)
{ {
int ret = 0; int ret = 0;
networkDnsmasqLeaseFileName = testDnsmasqLeaseFileName;
#define DO_TEST(name) \ #define DO_TEST(name) \
if (virtTestRun("Network XML-2-Argv " name, \ if (virtTestRun("Network XML-2-Argv " name, \
1, testCompareXMLToArgvHelper, (name)) < 0) \ 1, testCompareXMLToArgvHelper, (name)) < 0) \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册