Jim Meyering wrote:
Daniel P. Berrange wrote:
> The libvirtd tests have a number of bugs causing them to fail & generally
> do bad things. They all currently fail on RHEL5 hosts.
Odd that they'd all fail for you.
Only one fails for me: libvirtd-pool
and daemon-conf is mistakenly skipped due to use of ancient
automake-1.9.
> - daemon-conf - the abs_topbuild_dir env var was not being set correctly
As you know, that's because you're building with RHEL5's ancient
version of automake.
That is a no-no (for many reasons) but easy to work around.
IMHO, no one should never build using such old autotools,
but I do know how we're currently constrained. no choice.
Your change to tests/Makefile.am is fine.
> so it failed to find config.h. It also broken by changes in stderr
> debug output from libvirtd. This patch fixes the env var, and changes
> it to it just looks for the desired error message, not doing a diff
> across entire of stdout/err.
Once I worked around automake-1.9's lack of abs_top_builddir,
daemon-conf passed.
What error did you see?
I've deduced that you were building --without-qemu.
Here's a less invasive patch that fixes those problems.
I've confirmed that it passes (or skips) all tests on RHEL5
when built both --with-qemu and --without-qemu. Of course, it
still passes on F10/F11 and rawhide.
From c478463429e223976c5dcebcf02635624564fd74 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Wed, 4 Mar 2009 00:27:09 -0500
Subject: [PATCH] tests: accommodate building with automake-1.9 and --without-qemu
* tests/Makefile.am: Export replacement definitions of variables
like $(abs_top_builddir) that are provided by reasonably recent
versions of automake, but lacking in automake-1.9.
* tests/test-lib.sh (require_qemu_): New function.
* tests/daemon-conf: Use it.
* tests/libvirtd-net-persist: Use it.
* tests/libvirtd-pool: Use it.
---
tests/Makefile.am | 13 +++++++------
tests/daemon-conf | 4 +---
tests/libvirtd-net-persist | 1 +
tests/libvirtd-pool | 8 ++++++--
tests/test-lib.sh | 6 ++++++
5 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8b4bd0c..3f79516 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -117,16 +117,17 @@ endif
TESTS += nodedevxml2xmltest
-path_add = $$abs_top_builddir/src$(PATH_SEPARATOR)$$abs_top_builddir/qemud
-
# NB, automake < 1.10 does not provide the real
# abs_top_{src/build}dir variables, so don't rely
# on them here. Fake them with 'pwd'
+export abs_top_builddir ?= $(shell cd '$(top_builddir)'; pwd)
+export abs_top_srcdir ?= $(shell cd '$(top_srcdir)'; pwd)
+export abs_builddir ?= $(shell cd '$(builddir)'; pwd)
+export abs_srcdir ?= $(shell cd '$(srcdir)'; pwd)
+
+path_add = $(abs_top_builddir)/src$(PATH_SEPARATOR)$(abs_top_builddir)/qemud
+
TESTS_ENVIRONMENT = \
- abs_top_builddir=`cd '$(top_builddir)'; pwd` \
- abs_top_srcdir=`cd '$(top_srcdir)'; pwd` \
- abs_builddir=`cd '$(builddir)'; pwd` \
- abs_srcdir=`cd '$(srcdir)'; pwd` \
CONFIG_HEADER='$(abs_top_builddir)/config.h' \
PATH="$(path_add)$(PATH_SEPARATOR)$$PATH" \
SHELL="$(SHELL)" \
diff --git a/tests/daemon-conf b/tests/daemon-conf
index a5e86ae..e63ce01 100755
--- a/tests/daemon-conf
+++ b/tests/daemon-conf
@@ -9,9 +9,7 @@ fi
test -z "$srcdir" && srcdir=$(pwd)
test -z "$abs_top_srcdir" && abs_top_srcdir=$(pwd)/..
. $srcdir/test-lib.sh
-
-grep '^#define WITH_QEMU 1' $CONFIG_HEADER > /dev/null ||
- skip_test_ "configured without QEMU support"
+require_qemu_
conf="$abs_top_srcdir/qemud/libvirtd.conf"
diff --git a/tests/libvirtd-net-persist b/tests/libvirtd-net-persist
index 50a1ef4..f03e669 100755
--- a/tests/libvirtd-net-persist
+++ b/tests/libvirtd-net-persist
@@ -10,6 +10,7 @@ fi
test -z "$srcdir" && srcdir=$(pwd)
test -z "$abs_top_srcdir" && abs_top_srcdir=$(pwd)/..
. "$srcdir/test-lib.sh"
+require_qemu_
fail=0
diff --git a/tests/libvirtd-pool b/tests/libvirtd-pool
index 370f3b1..b38dbb2 100755
--- a/tests/libvirtd-pool
+++ b/tests/libvirtd-pool
@@ -10,6 +10,7 @@ fi
test -z "$srcdir" && srcdir=$(pwd)
test -z "$abs_top_srcdir" && abs_top_srcdir=$(pwd)/..
. "$srcdir/test-lib.sh"
+require_qemu_
fail=0
@@ -31,6 +32,9 @@ virsh --connect "$url" pool-dumpxml P >> out 2>&1
|| fail=1
# remove random uuid
sed 's/<uuid>.*/-/' out > k && mv k out || fail=1
+# filter out actual owner and group numbers
+sed 's/<owner>.*/-/' out > k && mv k out || fail=1
+sed 's/<group>.*/-/' out > k && mv k out || fail=1
kill $pid
@@ -49,8 +53,8 @@ Pool P defined
<path>/target-path</path>
<permissions>
<mode>0700</mode>
- <owner>500</owner>
- <group>500</group>
+ -
+ -
</permissions>
</target>
</pool>
diff --git a/tests/test-lib.sh b/tests/test-lib.sh
index a007109..fd4cd2a 100644
--- a/tests/test-lib.sh
+++ b/tests/test-lib.sh
@@ -24,6 +24,12 @@ require_acl_()
|| skip_test_ "This test requires a local user named bin."
}
+require_qemu_()
+{
+ grep '^#define WITH_QEMU 1' $CONFIG_HEADER > /dev/null ||
+ skip_test_ "configured without QEMU support"
+}
+
require_ulimit_()
{
ulimit_works=yes
--
1.6.2.rc1.285.gc5f54