[libvirt] [PATCH] Xen Events Updated
by Ben Guthro
This version of the Xen-Events patch goes a step further than the last version, and now emits the following domain events:
STARTED
STOPPED
ADDED
REMOVED
This is accomplished by monitoring /etc/xen, and taking advantage of what seemed to be dormant code in the XM driver. By re-enabling the "config cache", we can properly track domains when files come, and go into this directory.
configure.in | 13 +
include/libvirt/virterror.h | 1
po/POTFILES.in | 1
src/Makefile.am | 3
src/virterror.c | 3
src/xen_inotify.c | 270 +++++++++++++++++++++++++++
src/xen_inotify.h | 32 +++
src/xen_unified.c | 190 +++++++++++++++++++
src/xen_unified.h | 61 ++++++
src/xm_internal.c | 24 +-
src/xs_internal.c | 430 +++++++++++++++++++++++++++++++++++++++++++-
src/xs_internal.h | 51 +++++
12 files changed, 1069 insertions(+), 10 deletions(-)
16 years
[libvirt] PATCH: allow to set nvcpus = 0
by Evgeniy Sokolov
OpenVZ uses all CPUs available in system
- by default (number of CPUs did not set)
- number of CPUs = 0
Currenty, libvirt don't allow to set nvcpus = 0.
Attached patch removes limitation in libvirt set nvcpu = 0, but add it
to each driver which allow to set number of virtual CPU. For OpenVZ set
default number of CPUs = 0.
16 years
[libvirt] [PATCH] fix python events
by David Lively
This patch gets python events working again after upstream changes, and
make the test implementation properly clean up after itself and
implement the new EventImpl API properly.
Note that the Python RemoveHandle and RemoveTimeout implementations
should return the opaque object registered by the corresponding
AddHandle/Timeout calls, in lieu of calling the (C) freefunc. (The
binding code will then call freefunc if it's not NULL.) Ignoring this
means you'll leak memory in the same way that C RemoveHandle/Timeout
leak if they don't (now) call the freefunc.
I also moved around some of the error checking code to unclutter (and
speed up) the common code paths. For instance, we now check that the
virRegisterEventImpl arguments are callable just once (and return
failure if they're not), rather than checking them before every call and
blithely ignoring them if they're not callable.
Dave
examples/domain-events/events-python/event-test.py | 29 +--
python/libvir.c | 200+++++++++++++++----
python/libvir.py | 4
python/libvirt_wrap.h | 8
python/types.c | 1
python/virConnect.py | 4
6 files changed, 194 insertions(+), 52 deletions(-)
16 years
[libvirt] [PATCH] libvirt.c: fix virStateActive return value; document ...
by Jim Meyering
The s/1/-1/ fix induces no semantic change, since the sole use
of virStateActive tests solely for nonzero.
>From 4bc9713207a2ed6b101e2067f7bba82d1df45987 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 24 Nov 2008 15:52:55 +0100
Subject: [PATCH] libvirt.c: fix virStateActive return value; document some new functions
* src/libvirt.c (virStateActive): Return -1 upon error, not 1,
to be consistent with the other virState* functions.
(virStateActive, virStateCleanup, virStateReload, virStateActive):
Add per-function comments.
---
src/libvirt.c | 30 +++++++++++++++++++++++++++++-
1 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/src/libvirt.c b/src/libvirt.c
index f445333..10835b9 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -636,6 +636,13 @@ virRegisterStateDriver(virStateDriverPtr driver)
return virStateDriverTabCount++;
}
+/**
+ * virStateInitialize:
+ *
+ * Initialize all virtualization drivers.
+ *
+ * Return 0 if successful, -1 upon error.
+ */
int virStateInitialize(void) {
int i, ret = 0;
@@ -650,6 +657,13 @@ int virStateInitialize(void) {
return ret;
}
+/**
+ * virStateCleanup:
+ *
+ * Run each virtualization driver's cleanup method.
+ *
+ * Return 0 if successful, -1 upon error.
+ */
int virStateCleanup(void) {
int i, ret = 0;
@@ -661,6 +675,13 @@ int virStateCleanup(void) {
return ret;
}
+/**
+ * virStateReload
+ *
+ * Run each virtualization driver's reload method.
+ *
+ * Return 0 if successful, -1 upon error.
+ */
int virStateReload(void) {
int i, ret = 0;
@@ -672,13 +693,20 @@ int virStateReload(void) {
return ret;
}
+/**
+ * virStateActive
+ *
+ * Run each virtualization driver's "active" method.
+ *
+ * Return 0 if successful, -1 upon error.
+ */
int virStateActive(void) {
int i, ret = 0;
for (i = 0 ; i < virStateDriverTabCount ; i++) {
if (virStateDriverTab[i]->active &&
virStateDriverTab[i]->active())
- ret = 1;
+ ret = -1;
}
return ret;
}
--
1.6.0.4.1021.g4320
16 years
[libvirt] [PATCH] fix --without-xen build
by David Lively
The last change to tests/Makefile.am broke the build when --without-xen
is specified. This patch fixes it ...
Dave
tests/Makefile.am | 9 +++++++++
1 file changed, 9 insertions(+)
16 years
[libvirt] [PATCH] * src/virterror.c (virReportErrorHelper): Sync doc to code.
by Jim Meyering
The dom and net parameters are long gone.
Reflect s/msg/fmt/ renaming:
>From 8b87344dbe31fe478ac4a679005835e03a329ace Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 24 Nov 2008 15:55:24 +0100
Subject: [PATCH] * src/virterror.c (virReportErrorHelper): Sync doc to code.
---
src/virterror.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/virterror.c b/src/virterror.c
index 0723db8..112a19e 100644
--- a/src/virterror.c
+++ b/src/virterror.c
@@ -747,17 +747,15 @@ virErrorMsg(virErrorNumber error, const char *info)
}
/**
- * virReportErrorHelper
+ * virReportErrorHelper:
*
* @conn: the connection to the hypervisor if available
- * @dom: the domain if available
- * @net: the network if available
* @domcode: the virErrorDomain indicating where it's coming from
* @errcode: the virErrorNumber code for the error
* @filename: Source file error is dispatched from
* @funcname: Function error is dispatched from
* @linenr: Line number error is dispatched from
- * @msg: the message to display/transmit
+ * @fmt: the format string
* @...: extra parameters for the message display
*
* Helper function to do most of the grunt work for individual driver
--
1.6.0.4.1021.g4320
16 years
[libvirt] [PATCH] tests: virsh-all: new script
by Jim Meyering
Actually, this was the first step.
This tiny script merely invokes all commands blindly,
solely to get test coverage, even if they (as most do) fail.
Additional tests will be smarter about providing sensible arguments.
>From 058681eab07936f4ecbb1ff514528eb921d27074 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 21 Nov 2008 10:18:43 +0100
Subject: [PATCH] tests: virsh-all: new script
* tests/virsh-all: New script.
* tests/Makefile.am (test_scripts): Add virsh-all.
---
tests/Makefile.am | 1 +
tests/virsh-all | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+), 0 deletions(-)
create mode 100755 tests/virsh-all
diff --git a/tests/Makefile.am b/tests/Makefile.am
index bdbf927..0b4eebd 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -57,6 +57,7 @@ test_scripts += \
read-non-seekable \
undefine \
vcpupin
+ virsh-all
endif
EXTRA_DIST += $(test_scripts)
diff --git a/tests/virsh-all b/tests/virsh-all
new file mode 100755
index 0000000..af7e09d
--- /dev/null
+++ b/tests/virsh-all
@@ -0,0 +1,39 @@
+#!/bin/sh
+# blindly run each and every command listed by "virsh help"
+
+# Copyright (C) 2008 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+if test "$VERBOSE" = yes; then
+ set -x
+ virsh --version
+fi
+
+. $srcdir/test-lib.sh
+
+fail=0
+
+test_url=test:///default
+
+virsh -c $test_url help > cmds || framework_failure
+cmds=$(sed -n 's/^ \([^ ][^ ]*\) .*/\1/p' cmds) || framework_failure
+test -n "$cmds" || framework_failure
+
+for i in $cmds; do
+ echo testing $i... 1>&2
+ virsh -c $test_url $i < /dev/null
+done
+
+(exit $fail); exit $fail
--
1.6.0.4.1021.g4320
16 years
[libvirt] [PATCH] * gnulib/tests/test-EOVERFLOW: Remove.
by Jim Meyering
Back on October 28, I mistakenly added a binary.
This adds the requisite .cvsignore entry and
updates the corresponding .gitignore file as well
as two stale ones.
>From 30a853d37fc2102a7e4009b93867209e318014a1 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Fri, 21 Nov 2008 14:15:15 +0100
Subject: [PATCH] * gnulib/tests/test-EOVERFLOW: Remove.
* gnulib/tests/.cvsignore: Add test-EOVERFLOW, then...
Run "make sync-vcs-ignore-files" to Update .gitignore files.
---
examples/domain-events/events-c/.gitignore | 2 ++
gnulib/tests/.cvsignore | 1 +
gnulib/tests/.gitignore | 1 +
gnulib/tests/test-EOVERFLOW | Bin 6680 -> 0 bytes
src/.gitignore | 1 +
5 files changed, 5 insertions(+), 0 deletions(-)
delete mode 100755 gnulib/tests/test-EOVERFLOW
diff --git a/examples/domain-events/events-c/.gitignore b/examples/domain-events/events-c/.gitignore
index 7b8079b..ed9ac4d 100644
--- a/examples/domain-events/events-c/.gitignore
+++ b/examples/domain-events/events-c/.gitignore
@@ -1,3 +1,5 @@
+Makefile
+Makefile.in
*.exe
.deps
.libs
diff --git a/gnulib/tests/.cvsignore b/gnulib/tests/.cvsignore
index 6ac20bc..04eb4a0 100644
--- a/gnulib/tests/.cvsignore
+++ b/gnulib/tests/.cvsignore
@@ -3,6 +3,7 @@
Makefile
Makefile.in
sys
+test-EOVERFLOW
test-alloca-opt
test-arpa_inet
test-c-ctype
diff --git a/gnulib/tests/.gitignore b/gnulib/tests/.gitignore
index 6ac20bc..04eb4a0 100644
--- a/gnulib/tests/.gitignore
+++ b/gnulib/tests/.gitignore
@@ -3,6 +3,7 @@
Makefile
Makefile.in
sys
+test-EOVERFLOW
test-alloca-opt
test-arpa_inet
test-c-ctype
diff --git a/gnulib/tests/test-EOVERFLOW b/gnulib/tests/test-EOVERFLOW
deleted file mode 100755
index ea3a8a27290fea9dd71beab276a9180b71a4847b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 6680
zcmcIoU2Ggz6+Zjp*eP!8n3%YUQAX-Ua*#aT7{_sdz}SxM*|3d`<3ON=*^PH>Z?)dF
zcE(`?MYV7XTDfkGctPT!72*K|4|zdU0*OQ>MBym~ghCNeg+!SCpj3cr9@^!cJLlLl
...
zau)bXmrZ?BcK<8j@D;CN`0sM9)EIV@%NMN$$IfAtfv$5-$(qd;a|K&wUuHtx8&go~
Q6T0rYn6Ht&D`jQ!Z=>`m&;S4c
diff --git a/src/.gitignore b/src/.gitignore
index 4aff461..cef59e0 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -15,3 +15,4 @@ libvirt_parthelper
libvirt_lxc
virsh-net-edit.c
virsh-pool-edit.c
+libvirt_sym.version
--
1.6.0.4.1021.g4320
16 years
[libvirt] --with-xen=foo
by Ben Guthro
So, when I merged my changes up yesterday to some of the developments going on, it would seem that one of the changesets I pulled in had a bit of a reduction in configure flexibility.
I'm not yet sure what changeset caused it...but I used to be able to specify an external xen tree with the following line in a Makefile...
./autogen.sh --prefix=/usr --with-xen=$(XEN_SRC)/dist/install/usr
This now seems to fail to find that xen tree, as I error out with:
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/include/libxml2 -DBINDIR=\"/usr/libexec\" -DSBINDIR=\"/usr/sbin\" -DSYSCONF_DIR=\"/etc\" -DLOCALEBASEDIR=\"/usr/share/locale\" -DLOCAL_STATE_DIR=\"/var\" -DGETTEXT_PACKAGE=\"libvirt\" -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -g -O2 -MT stats_linux.lo -MD -MP -MF .deps/stats_linux.Tpo -c stats_linux.c -fPIC -DPIC -o .libs/stats_linux.o
stats_linux.c:24:16: error: xs.h: No such file or directory
stats_linux.c: In function 'check_bd_connected':
stats_linux.c:154: warning: implicit declaration of function 'xs_read'
stats_linux.c:154: warning: nested extern declaration of 'xs_read'
stats_linux.c:154: warning: assignment makes pointer from integer without a cast
I assume this has something to do with Daniel B's changes to configure scripts recently.
Could you give me a pointer as to where I should be looking?
Ben
16 years
[libvirt] [PATCH] Move the expected output data from virshdata/*.txt into virshtest.c.
by Jim Meyering
This is mainly just reorganization and factorization, with an eye
towards making it easier to add more tests in virshtest.c later.
>From 21352a07b073d52bcd3c442c76d7fb985aeef845 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Thu, 20 Nov 2008 20:35:57 +0100
Subject: [PATCH] Move the expected output data from virshdata/*.txt into virshtest.c.
* tests/virshtest.c: Embed literal, expected output here, rather than
using virshdata/*.txt file names.
Factor out some common constructs.
(testCompareOutputLit): New function.
(testCompareOutput): #ifdef-out, not that it's unused.
* tests/Makefile.am (SUBDIRS): Remove virshdata/ and all files in it.
* docs/testnode.xml: Fix typo in a comment.
---
docs/testnode.xml | 2 +-
tests/Makefile.am | 2 +-
tests/virshdata/.cvsignore | 2 -
tests/virshdata/.gitignore | 2 -
tests/virshdata/Makefile.am | 2 -
tests/virshdata/domid-fc4.txt | 2 -
tests/virshdata/dominfo-fc4.txt | 10 --
tests/virshdata/domname-fc4.txt | 2 -
tests/virshdata/domstate-fc4.txt | 2 -
tests/virshdata/domuuid-fc4.txt | 2 -
tests/virshdata/list-custom.txt | 5 -
tests/virshdata/list-default.txt | 4 -
tests/virshdata/nodeinfo-custom.txt | 9 --
tests/virshdata/nodeinfo-default.txt | 9 --
tests/virshtest.c | 264 ++++++++++++++--------------------
15 files changed, 111 insertions(+), 208 deletions(-)
delete mode 100644 tests/virshdata/.cvsignore
delete mode 100644 tests/virshdata/.gitignore
delete mode 100644 tests/virshdata/Makefile.am
delete mode 100644 tests/virshdata/domid-fc4.txt
delete mode 100644 tests/virshdata/dominfo-fc4.txt
delete mode 100644 tests/virshdata/domname-fc4.txt
delete mode 100644 tests/virshdata/domstate-fc4.txt
delete mode 100644 tests/virshdata/domuuid-fc4.txt
delete mode 100644 tests/virshdata/list-custom.txt
delete mode 100644 tests/virshdata/list-default.txt
delete mode 100644 tests/virshdata/nodeinfo-custom.txt
delete mode 100644 tests/virshdata/nodeinfo-default.txt
diff --git a/docs/testnode.xml b/docs/testnode.xml
index 7df10b0..be7121d 100644
--- a/docs/testnode.xml
+++ b/docs/testnode.xml
@@ -1,6 +1,6 @@
<node>
<!-- This file gives an example config for the mock 'test' backend
- driver to libvirt. This is intended to allow relible unit testing
+ driver to libvirt. This is intended to allow reliable unit testing
of applications using libvirt. To use this with virsh, run something
like:
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 3b4f0dc..bdbf927 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -2,7 +2,7 @@
SHELL = $(PREFERABLY_POSIX_SHELL)
-SUBDIRS = virshdata confdata sexpr2xmldata \
+SUBDIRS = confdata sexpr2xmldata \
xml2sexprdata xmconfigdata xencapsdata
INCLUDES = \
diff --git a/tests/virshdata/.cvsignore b/tests/virshdata/.cvsignore
deleted file mode 100644
index 282522d..0000000
--- a/tests/virshdata/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/tests/virshdata/.gitignore b/tests/virshdata/.gitignore
deleted file mode 100644
index 282522d..0000000
--- a/tests/virshdata/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/tests/virshdata/Makefile.am b/tests/virshdata/Makefile.am
deleted file mode 100644
index c46fc93..0000000
--- a/tests/virshdata/Makefile.am
+++ /dev/null
@@ -1,2 +0,0 @@
-
-EXTRA_DIST = $(wildcard *.txt)
diff --git a/tests/virshdata/domid-fc4.txt b/tests/virshdata/domid-fc4.txt
deleted file mode 100644
index 9a7456b..0000000
--- a/tests/virshdata/domid-fc4.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-2
-
diff --git a/tests/virshdata/dominfo-fc4.txt b/tests/virshdata/dominfo-fc4.txt
deleted file mode 100644
index 0cce9be..0000000
--- a/tests/virshdata/dominfo-fc4.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Id: 2
-Name: fc4
-UUID: ef861801-45b9-11cb-88e3-afbfe5370493
-OS Type: linux
-State: running
-CPU(s): 1
-Max memory: 261072 kB
-Used memory: 131072 kB
-Autostart: disable
-
diff --git a/tests/virshdata/domname-fc4.txt b/tests/virshdata/domname-fc4.txt
deleted file mode 100644
index fd55058..0000000
--- a/tests/virshdata/domname-fc4.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-fc4
-
diff --git a/tests/virshdata/domstate-fc4.txt b/tests/virshdata/domstate-fc4.txt
deleted file mode 100644
index 9c724a4..0000000
--- a/tests/virshdata/domstate-fc4.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-running
-
diff --git a/tests/virshdata/domuuid-fc4.txt b/tests/virshdata/domuuid-fc4.txt
deleted file mode 100644
index face70e..0000000
--- a/tests/virshdata/domuuid-fc4.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-ef861801-45b9-11cb-88e3-afbfe5370493
-
diff --git a/tests/virshdata/list-custom.txt b/tests/virshdata/list-custom.txt
deleted file mode 100644
index 2b48b26..0000000
--- a/tests/virshdata/list-custom.txt
+++ /dev/null
@@ -1,5 +0,0 @@
- Id Name State
-----------------------------------
- 1 fv0 running
- 2 fc4 running
-
diff --git a/tests/virshdata/list-default.txt b/tests/virshdata/list-default.txt
deleted file mode 100644
index d05095c..0000000
--- a/tests/virshdata/list-default.txt
+++ /dev/null
@@ -1,4 +0,0 @@
- Id Name State
-----------------------------------
- 1 test running
-
diff --git a/tests/virshdata/nodeinfo-custom.txt b/tests/virshdata/nodeinfo-custom.txt
deleted file mode 100644
index 1e98d63..0000000
--- a/tests/virshdata/nodeinfo-custom.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-CPU model: i986
-CPU(s): 50
-CPU frequency: 6000 MHz
-CPU socket(s): 4
-Core(s) per socket: 4
-Thread(s) per core: 2
-NUMA cell(s): 4
-Memory size: 8192000 kB
-
diff --git a/tests/virshdata/nodeinfo-default.txt b/tests/virshdata/nodeinfo-default.txt
deleted file mode 100644
index 99d9754..0000000
--- a/tests/virshdata/nodeinfo-default.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-CPU model: i686
-CPU(s): 16
-CPU frequency: 1400 MHz
-CPU socket(s): 2
-Core(s) per socket: 2
-Thread(s) per core: 2
-NUMA cell(s): 2
-Memory size: 3145728 kB
-
diff --git a/tests/virshtest.c b/tests/virshtest.c
index c9ba6b2..2745df1 100644
--- a/tests/virshtest.c
+++ b/tests/virshtest.c
@@ -12,6 +12,24 @@ static char *progname;
static char *abs_srcdir;
#define MAX_FILE 4096
+#define DOM_UUID "ef861801-45b9-11cb-88e3-afbfe5370493"
+
+static const char *dominfo_fc4 = "\
+Id: 2\n\
+Name: fc4\n\
+UUID: " DOM_UUID "\n\
+OS Type: linux\n\
+State: running\n\
+CPU(s): 1\n\
+Max memory: 261072 kB\n\
+Used memory: 131072 kB\n\
+Autostart: disable\n\
+\n";
+static const char *domuuid_fc4 = DOM_UUID "\n\n";
+static const char *domid_fc4 = "2\n\n";
+static const char *domname_fc4 = "fc4\n\n";
+static const char *domstate_fc4 = "running\n\n";
+
static int testFilterLine(char *buffer,
const char *toRemove) {
char *start;
@@ -28,18 +46,10 @@ static int testFilterLine(char *buffer,
return 0;
}
-static int testCompareOutput(const char *expect_rel, const char *filter,
- const char *const argv[]) {
- char expectData[MAX_FILE];
+static int testCompareOutputLit(const char *expectData,
+ const char *filter, const char *const argv[]) {
char actualData[MAX_FILE];
- char *expectPtr = &(expectData[0]);
char *actualPtr = &(actualData[0]);
- char expect[PATH_MAX];
-
- snprintf(expect, sizeof expect - 1, "%s/%s", abs_srcdir, expect_rel);
-
- if (virtTestLoadFile(expect, &expectPtr, MAX_FILE) < 0)
- return -1;
if (virtTestCaptureProgramOutput(argv, &actualPtr, MAX_FILE) < 0)
return -1;
@@ -56,6 +66,21 @@ static int testCompareOutput(const char *expect_rel, const char *filter,
return 0;
}
+#if unused
+static int testCompareOutput(const char *expect_rel, const char *filter,
+ const char *const argv[]) {
+ char expectData[MAX_FILE];
+ char *expectPtr = &(expectData[0]);
+ char expect[PATH_MAX];
+
+ snprintf(expect, sizeof expect - 1, "%s/%s", abs_srcdir, expect_rel);
+
+ if (virtTestLoadFile(expect, &expectPtr, MAX_FILE) < 0)
+ return -1;
+
+ return testCompareOutputLit(expectData, filter, argv);
+}
+#endif
#define VIRSH_DEFAULT "../src/virsh", \
"--connect", \
@@ -67,40 +92,40 @@ static char *custom_uri;
"--connect", \
custom_uri
-
-
static int testCompareListDefault(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_DEFAULT,
- "list",
- NULL
- };
- return testCompareOutput("virshdata/list-default.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_DEFAULT, "list", NULL };
+ const char *exp = "\
+ Id Name State\n\
+----------------------------------\n\
+ 1 test running\n\
+\n";
+ return testCompareOutputLit(exp, NULL, argv);
}
static int testCompareListCustom(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "list",
- NULL
- };
- return testCompareOutput("virshdata/list-custom.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "list", NULL };
+ const char *exp = "\
+ Id Name State\n\
+----------------------------------\n\
+ 1 fv0 running\n\
+ 2 fc4 running\n\
+\n";
+ return testCompareOutputLit(exp, NULL, argv);
}
-
static int testCompareNodeinfoDefault(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_DEFAULT,
- "nodeinfo",
- NULL
- };
- return testCompareOutput("virshdata/nodeinfo-default.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_DEFAULT, "nodeinfo", NULL };
+ const char *exp = "\
+CPU model: i686\n\
+CPU(s): 16\n\
+CPU frequency: 1400 MHz\n\
+CPU socket(s): 2\n\
+Core(s) per socket: 2\n\
+Thread(s) per core: 2\n\
+NUMA cell(s): 2\n\
+Memory size: 3145728 kB\n\
+\n";
+ return testCompareOutputLit(exp, NULL, argv);
}
static int testCompareNodeinfoCustom(const void *data ATTRIBUTE_UNUSED) {
@@ -109,160 +134,89 @@ static int testCompareNodeinfoCustom(const void *data ATTRIBUTE_UNUSED) {
"nodeinfo",
NULL
};
- return testCompareOutput("virshdata/nodeinfo-custom.txt",
- NULL,
- argv);
+ const char *exp = "\
+CPU model: i986\n\
+CPU(s): 50\n\
+CPU frequency: 6000 MHz\n\
+CPU socket(s): 4\n\
+Core(s) per socket: 4\n\
+Thread(s) per core: 2\n\
+NUMA cell(s): 4\n\
+Memory size: 8192000 kB\n\
+\n";
+ return testCompareOutputLit(exp, NULL, argv);
}
static int testCompareDominfoByID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "dominfo",
- "2",
- NULL
- };
- return testCompareOutput("virshdata/dominfo-fc4.txt",
- "\nCPU time:",
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "dominfo", "2", NULL };
+ const char *exp = dominfo_fc4;
+ return testCompareOutputLit(exp, "\nCPU time:", argv);
}
-
static int testCompareDominfoByUUID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "dominfo",
- "ef861801-45b9-11cb-88e3-afbfe5370493",
- NULL
- };
- return testCompareOutput("virshdata/dominfo-fc4.txt",
- "\nCPU time:",
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "dominfo", DOM_UUID, NULL };
+ const char *exp = dominfo_fc4;
+ return testCompareOutputLit(exp, "\nCPU time:", argv);
}
-
static int testCompareDominfoByName(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "dominfo",
- "fc4",
- NULL
- };
- return testCompareOutput("virshdata/dominfo-fc4.txt",
- "\nCPU time:",
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "dominfo", "fc4", NULL };
+ const char *exp = dominfo_fc4;
+ return testCompareOutputLit(exp, "\nCPU time:", argv);
}
-
static int testCompareDomuuidByID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domuuid",
- "2",
- NULL
- };
- return testCompareOutput("virshdata/domuuid-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domuuid", "2", NULL };
+ const char *exp = domuuid_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
static int testCompareDomuuidByName(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domuuid",
- "fc4",
- NULL
- };
- return testCompareOutput("virshdata/domuuid-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domuuid", "fc4", NULL };
+ const char *exp = domuuid_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
static int testCompareDomidByName(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domid",
- "fc4",
- NULL
- };
- return testCompareOutput("virshdata/domid-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domid", "fc4", NULL };
+ const char *exp = domid_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
-
static int testCompareDomidByUUID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domid",
- "ef861801-45b9-11cb-88e3-afbfe5370493",
- NULL
- };
- return testCompareOutput("virshdata/domid-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domid", DOM_UUID, NULL };
+ const char *exp = domid_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
-
static int testCompareDomnameByID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domname",
- "2",
- NULL
- };
- return testCompareOutput("virshdata/domname-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domname", "2", NULL };
+ const char *exp = domname_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
-
static int testCompareDomnameByUUID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domname",
- "ef861801-45b9-11cb-88e3-afbfe5370493",
- NULL
- };
- return testCompareOutput("virshdata/domname-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domname", DOM_UUID, NULL };
+ const char *exp = domname_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
static int testCompareDomstateByID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domstate",
- "2",
- NULL
- };
- return testCompareOutput("virshdata/domstate-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domstate", "2", NULL };
+ const char *exp = domstate_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
-
static int testCompareDomstateByUUID(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domstate",
- "ef861801-45b9-11cb-88e3-afbfe5370493",
- NULL
- };
- return testCompareOutput("virshdata/domstate-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domstate", DOM_UUID, NULL };
+ const char *exp = domstate_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
static int testCompareDomstateByName(const void *data ATTRIBUTE_UNUSED) {
- const char *const argv[] = {
- VIRSH_CUSTOM,
- "domstate",
- "fc4",
- NULL
- };
- return testCompareOutput("virshdata/domstate-fc4.txt",
- NULL,
- argv);
+ const char *const argv[] = { VIRSH_CUSTOM, "domstate", "fc4", NULL };
+ const char *exp = domstate_fc4;
+ return testCompareOutputLit(exp, NULL, argv);
}
static int
--
1.6.0.4.911.gc990
16 years