+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.
$(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
#include "nodeinfo.h"
static char *progname;
+static char *abs_top_srcdir;
#define MAX_FILE 4096
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
"nodeinfo-6",
};
+ abs_top_srcdir = getenv("abs_top_srcdir");
+ if (!abs_top_srcdir)
+ return EXIT_FAILURE;
+
progname = argv[0];
if (argc > 1) {
#include "internal.h"
static char *progname;
+static char *abs_top_srcdir;
struct qemud_driver driver;
#define MAX_FILE 4096
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);
}
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;
#include "internal.h"
static char *progname;
+static char *abs_top_srcdir;
struct qemud_driver driver;
#define MAX_FILE 4096
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);
}
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;
#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;
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;
#!/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
#include "internal.h"
static char *progname;
+static char *abs_top_srcdir;
#define MAX_FILE 4096
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;
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;
#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;
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;
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",
#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];
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;
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]);
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;
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)
#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;
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;
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);