Arrange for tests to pass in a non-srcdir build.

* tests/Makefile.am: Include the contents of the *data directories
in the make-dist-built tarball by adding each of that *data
directories to EXTRA_DIST.
Also add int-overflow (via $(test_scripts)) to EXTRA_DIST.
* tests/nodeinfotest.c: Prepend "$abs_top_srcdir/tests" to
each input file name.
* tests/qemuxml2argvtest.c: Likewise.
* tests/qemuxml2xmltest.c: Likewise.
* tests/sexpr2xmltest.c: Likewise.
* tests/test_conf.sh: Likewise.
* tests/virshtest.c: Likewise.
* tests/xencapstest.c: Likewise.
* tests/xmconfigtest.c: Likewise.
* tests/xml2sexprtest.c: Likewise.


Author: Jim Meyering <meyering@redhat.com>
This commit is contained in:
Jim Meyering 2007-11-14 10:35:58 +00:00
parent 4f2900d097
commit 5a6571eba9
11 changed files with 135 additions and 21 deletions

View File

@ -1,3 +1,21 @@
Wed Nov 14 11:34:35 CET 2007 Jim Meyering <meyering@redhat.com>
Arrange for tests to pass in a non-srcdir build.
* tests/Makefile.am: Include the contents of the *data directories
in the make-dist-built tarball by adding each of that *data
directories to EXTRA_DIST.
Also add int-overflow (via $(test_scripts)) to EXTRA_DIST.
* tests/nodeinfotest.c: Prepend "$abs_top_srcdir/tests" to
each input file name.
* tests/qemuxml2argvtest.c: Likewise.
* tests/qemuxml2xmltest.c: Likewise.
* tests/sexpr2xmltest.c: Likewise.
* tests/test_conf.sh: Likewise.
* tests/virshtest.c: Likewise.
* tests/xencapstest.c: Likewise.
* tests/xmconfigtest.c: Likewise.
* tests/xml2sexprtest.c: Likewise.
Tue Nov 13 15:33:35 CET 2007 Jim Meyering <meyering@redhat.com>
Make qemud's install-init rule work in a non-srcdir build.

View File

@ -31,15 +31,29 @@ LDADDS = \
$(LIBVIRT) \
$(COVERAGE_LDFLAGS)
EXTRA_DIST = xmlrpcserver.py test_conf.sh
EXTRA_DIST = \
xmlrpcserver.py \
test_conf.sh \
confdata \
qemuxml2argvdata \
xml2sexprdata \
nodeinfodata \
virshdata \
xencapsdata \
sexpr2xmldata \
xmconfigdata
noinst_PROGRAMS = xmlrpctest xml2sexprtest sexpr2xmltest virshtest conftest \
reconnect xmconfigtest xencapstest qemuxml2argvtest qemuxml2xmltest \
nodeinfotest
test_scripts = \
int-overflow
EXTRA_DIST += $(test_scripts)
TESTS = xml2sexprtest sexpr2xmltest virshtest test_conf.sh xmconfigtest \
xencapstest qemuxml2argvtest qemuxml2xmltest nodeinfotest \
int-overflow
$(test_scripts)
if ENABLE_XEN_TESTS
TESTS += reconnect
endif

View File

@ -10,6 +10,7 @@
#include "nodeinfo.h"
static char *progname;
static char *abs_top_srcdir;
#define MAX_FILE 4096
@ -67,9 +68,12 @@ static int linuxTestNodeInfo(const void *data) {
char cpuinfo[PATH_MAX];
char meminfo[PATH_MAX];
char output[PATH_MAX];
snprintf(cpuinfo, PATH_MAX, "nodeinfodata/linux-%s.cpuinfo", (const char*)data);
snprintf(meminfo, PATH_MAX, "nodeinfodata/linux-%s.meminfo", (const char*)data);
snprintf(output, PATH_MAX, "nodeinfodata/linux-%s.txt", (const char*)data);
snprintf(cpuinfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.cpuinfo",
abs_top_srcdir, (const char*)data);
snprintf(meminfo, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.meminfo",
abs_top_srcdir, (const char*)data);
snprintf(output, PATH_MAX, "%s/tests/nodeinfodata/linux-%s.txt",
abs_top_srcdir, (const char*)data);
return linuxTestCompareFiles(cpuinfo, meminfo, output);
}
#endif
@ -90,6 +94,10 @@ main(int argc, char **argv)
"nodeinfo-6",
};
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return EXIT_FAILURE;
progname = argv[0];
if (argc > 1) {

View File

@ -9,6 +9,7 @@
#include "internal.h"
static char *progname;
static char *abs_top_srcdir;
struct qemud_driver driver;
#define MAX_FILE 4096
@ -93,8 +94,10 @@ static int testCompareXMLToArgvFiles(const char *xml, const char *cmd) {
static int testCompareXMLToArgvHelper(const void *data) {
char xml[PATH_MAX];
char args[PATH_MAX];
snprintf(xml, PATH_MAX, "qemuxml2argvdata/qemuxml2argv-%s.xml", (const char*)data);
snprintf(args, PATH_MAX, "qemuxml2argvdata/qemuxml2argv-%s.args", (const char*)data);
snprintf(xml, PATH_MAX, "%s/tests/qemuxml2argvdata/qemuxml2argv-%s.xml",
abs_top_srcdir, (const char*)data);
snprintf(args, PATH_MAX, "%s/tests/qemuxml2argvdata/qemuxml2argv-%s.args",
abs_top_srcdir, (const char*)data);
return testCompareXMLToArgvFiles(xml, args);
}
@ -112,6 +115,10 @@ main(int argc, char **argv)
exit(EXIT_FAILURE);
}
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return 1;
if (virtTestRun("QEMU XML-2-ARGV minimal",
1, testCompareXMLToArgvHelper, "minimal") < 0)
ret = -1;

View File

@ -9,6 +9,7 @@
#include "internal.h"
static char *progname;
static char *abs_top_srcdir;
struct qemud_driver driver;
#define MAX_FILE 4096
@ -59,7 +60,8 @@ static int testCompareXMLToXMLFiles(const char *xml) {
static int testCompareXMLToXMLHelper(const void *data) {
char xml[PATH_MAX];
snprintf(xml, PATH_MAX, "qemuxml2argvdata/qemuxml2argv-%s.xml", (const char*)data);
snprintf(xml, PATH_MAX, "%s/tests/qemuxml2argvdata/qemuxml2argv-%s.xml",
abs_top_srcdir, (const char*)data);
return testCompareXMLToXMLFiles(xml);
}
@ -76,6 +78,10 @@ main(int argc, char **argv)
exit(EXIT_FAILURE);
}
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return 1;
if (virtTestRun("QEMU XML-2-ARGV minimal",
1, testCompareXMLToXMLHelper, "minimal") < 0)
ret = -1;

View File

@ -8,16 +8,23 @@
#include "internal.h"
static char *progname;
static char *abs_top_srcdir;
#define MAX_FILE 4096
static int testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion) {
static int testCompareFiles(const char *xml_rel, const char *sexpr_rel,
int xendConfigVersion) {
char xmlData[MAX_FILE];
char sexprData[MAX_FILE];
char *gotxml = NULL;
char *xmlPtr = &(xmlData[0]);
char *sexprPtr = &(sexprData[0]);
int ret = -1;
char xml[PATH_MAX];
char sexpr[PATH_MAX];
snprintf(xml, sizeof xml - 1, "%s/tests/%s", abs_top_srcdir, xml_rel);
snprintf(sexpr, sizeof sexpr - 1, "%s/tests/%s", abs_top_srcdir, sexpr_rel);
if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
goto fail;
@ -175,6 +182,10 @@ main(int argc, char **argv)
exit(EXIT_FAILURE);
}
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return 1;
if (virtTestRun("SEXPR-2-XML PV config (version 1)",
1, testComparePVversion1, NULL) != 0)
ret = -1;

View File

@ -1,9 +1,10 @@
#!/bin/bash
set -x
NOK=0
for f in confdata/*.conf
for f in $abs_top_srcdir/tests/confdata/*.conf
do
./conftest $f > conftest.$$
outfile=`echo $f | sed s+\.conf+\.out+`
outfile=`echo "$f" | sed s+\.conf$+\.out+`
diff $outfile conftest.$$ > /dev/null
if [ $? != 0 ]
then

View File

@ -9,6 +9,7 @@
#include "internal.h"
static char *progname;
static char *abs_top_srcdir;
#define MAX_FILE 4096
static int testFilterLine(char *buffer,
@ -27,11 +28,15 @@ static int testFilterLine(char *buffer,
return 0;
}
static int testCompareOutput(const char *expect, const char *filter, const char *const argv[]) {
static int testCompareOutput(const char *expect_rel, const char *filter,
const char *const argv[]) {
char expectData[MAX_FILE];
char actualData[MAX_FILE];
char *expectPtr = &(expectData[0]);
char *actualPtr = &(actualData[0]);
char expect[PATH_MAX];
snprintf(expect, sizeof expect - 1, "%s/tests/%s", abs_top_srcdir, expect_rel);
if (virtTestLoadFile(expect, &expectPtr, MAX_FILE) < 0)
return -1;
@ -268,13 +273,13 @@ int
main(int argc, char **argv)
{
int ret = 0;
char cwd[PATH_MAX];
char buffer[PATH_MAX];
if (!getcwd(cwd, PATH_MAX-1))
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return 1;
snprintf(buffer, PATH_MAX-1, "test://%s/../docs/testnode.xml", cwd);
snprintf(buffer, PATH_MAX-1, "test://%s/docs/testnode.xml", abs_top_srcdir);
buffer[PATH_MAX-1] = '\0';
progname = argv[0];
custom_uri = buffer;

View File

@ -13,13 +13,14 @@
#include "xen_internal.h"
static char *progname;
static char *abs_top_srcdir;
#define MAX_FILE 4096
static int testCompareFiles(const char *hostmachine,
const char *xml,
const char *cpuinfo,
const char *capabilities) {
const char *xml_rel,
const char *cpuinfo_rel,
const char *capabilities_rel) {
char xmlData[MAX_FILE];
char *expectxml = &(xmlData[0]);
char *actualxml = NULL;
@ -27,6 +28,17 @@ static int testCompareFiles(const char *hostmachine,
int ret = -1;
char xml[PATH_MAX];
char cpuinfo[PATH_MAX];
char capabilities[PATH_MAX];
snprintf(xml, sizeof xml - 1, "%s/tests/%s",
abs_top_srcdir, xml_rel);
snprintf(cpuinfo, sizeof cpuinfo - 1, "%s/tests/%s",
abs_top_srcdir, cpuinfo_rel);
snprintf(capabilities, sizeof capabilities - 1, "%s/tests/%s",
abs_top_srcdir, capabilities_rel);
if (virtTestLoadFile(xml, &expectxml, MAX_FILE) < 0)
goto fail;
@ -152,6 +164,10 @@ main(int argc, char **argv)
exit(EXIT_FAILURE);
}
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return 1;
virInitialize();
if (virtTestRun("Capabilities for i686, no PAE, no HVM",

View File

@ -32,10 +32,12 @@
#include "conf.h"
static char *progname;
static char *abs_top_srcdir;
#define MAX_FILE 4096
static int testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion) {
static int testCompareParseXML(const char *xmcfg_rel, const char *xml_rel,
int xendConfigVersion) {
char xmlData[MAX_FILE];
char xmcfgData[MAX_FILE];
char gotxmcfgData[MAX_FILE];
@ -48,6 +50,11 @@ static int testCompareParseXML(const char *xmcfg, const char *xml, int xendConfi
int wrote = MAX_FILE;
void *old_priv;
struct _xenUnifiedPrivate priv;
char xmcfg[PATH_MAX];
char xml[PATH_MAX];
snprintf(xmcfg, sizeof xmcfg - 1, "%s/tests/%s", abs_top_srcdir, xmcfg_rel);
snprintf(xml, sizeof xml - 1, "%s/tests/%s", abs_top_srcdir, xml_rel);
conn = virConnectOpenReadOnly("test:///default");
if (!conn) goto fail;
@ -92,7 +99,8 @@ static int testCompareParseXML(const char *xmcfg, const char *xml, int xendConfi
return ret;
}
static int testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion) {
static int testCompareFormatXML(const char *xmcfg_rel, const char *xml_rel,
int xendConfigVersion) {
char xmlData[MAX_FILE];
char xmcfgData[MAX_FILE];
char *xmlPtr = &(xmlData[0]);
@ -103,6 +111,11 @@ static int testCompareFormatXML(const char *xmcfg, const char *xml, int xendConf
virConnectPtr conn;
void *old_priv;
struct _xenUnifiedPrivate priv;
char xmcfg[PATH_MAX];
char xml[PATH_MAX];
snprintf(xmcfg, sizeof xmcfg - 1, "%s/tests/%s", abs_top_srcdir, xmcfg_rel);
snprintf(xml, sizeof xml - 1, "%s/tests/%s", abs_top_srcdir, xml_rel);
conn = virConnectOpenReadOnly("test:///default");
if (!conn) goto fail;
@ -259,6 +272,10 @@ main(int argc, char **argv)
exit(EXIT_FAILURE);
}
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return 1;
/* Config -> XML */
if (virtTestRun("Paravirt old PVFB (Format)",
1, testCompareParavirtOldPVFBFormat, NULL) != 0)

View File

@ -9,10 +9,12 @@
#include "internal.h"
static char *progname;
static char *abs_top_srcdir;
#define MAX_FILE 4096
static int testCompareFiles(const char *xml, const char *sexpr, const char *name, int xendConfigVersion) {
static int testCompareFiles(const char *xml_rel, const char *sexpr_rel,
const char *name, int xendConfigVersion) {
char xmlData[MAX_FILE];
char sexprData[MAX_FILE];
char *gotname = NULL;
@ -20,6 +22,11 @@ static int testCompareFiles(const char *xml, const char *sexpr, const char *name
char *xmlPtr = &(xmlData[0]);
char *sexprPtr = &(sexprData[0]);
int ret = -1;
char xml[PATH_MAX];
char sexpr[PATH_MAX];
snprintf(xml, sizeof xml - 1, "%s/tests/%s", abs_top_srcdir, xml_rel);
snprintf(sexpr, sizeof sexpr - 1, "%s/tests/%s", abs_top_srcdir, sexpr_rel);
if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
goto fail;
@ -225,6 +232,10 @@ main(int argc, char **argv)
progname = argv[0];
abs_top_srcdir = getenv("abs_top_srcdir");
if (!abs_top_srcdir)
return 1;
if (argc > 1) {
fprintf(stderr, "Usage: %s\n", progname);
exit(EXIT_FAILURE);