On Mon, Dec 28, 2009 at 04:35:56PM +0100, Matthias Bolte wrote: > 2009/12/23 Diego Elio Pettenò <flameeyes@xxxxxxxxx>: > > With these variables present, the tests would fail because they are not > > expected. > > --- > > tests/qemuxml2argvtest.c | 2 ++ > > 1 files changed, 2 insertions(+), 0 deletions(-) > > > > diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c > > index 3b0aa2b..b64dc6a 100644 > > --- a/tests/qemuxml2argvtest.c > > +++ b/tests/qemuxml2argvtest.c > > @@ -188,6 +188,8 @@ mymain(int argc, char **argv) > > unsetenv("TMPDIR"); > > unsetenv("LD_PRELOAD"); > > unsetenv("LD_LIBRARY_PATH"); > > + unsetenv("SDL_AUDIODRIVER"); > > + unsetenv("SDL_VIDEODRIVER"); > > > > DO_TEST("minimal", QEMUD_CMD_FLAG_NAME); > > DO_TEST("machine-aliases1", 0); > > -- > > 1.6.6.rc4 > > > > You're right, all envvars copied in qemudBuildCommandLine should be > unset or set to known values in this testcase to make sure the test is > not affected by the actual envvar values. > > But SDL_VIDEODRIVER is not copied in qemudBuildCommandLine and > QEMU_AUDIO_DRV is copied but not unset in the test. > > I suggest the attached patch. > > Matthias > From 891e786c4e0863668b3b5b2e1be4f1acfd2b0f97 Mon Sep 17 00:00:00 2001 > From: Matthias Bolte <matthias.bolte@xxxxxxxxxxxxxx> > Date: Mon, 28 Dec 2009 16:21:15 +0100 > Subject: [PATCH] Unset copied environment variables in qemuxml2argvtest > > The test expected all environment variables copied in qemudBuildCommandLine > to have known values. So all of them have to be either set to a known value > or be unset. SDL_VIDEODRIVER and QEMU_AUDIO_DRV are not handled at all but > should be handled. Unset both, otherwise the test will fail if they are set > in the testing environment. > > * src/qemu/qemu_conf.c: add a comment about copied environment variables > and qemuxml2argvtest > * tests/qemuxml2argvtest.c: unset SDL_VIDEODRIVER and QEMU_AUDIO_DRV > --- > src/qemu/qemu_conf.c | 2 ++ > tests/qemuxml2argvtest.c | 5 +++++ > 2 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > index f53c1f7..1f22826 100644 > --- a/src/qemu/qemu_conf.c > +++ b/src/qemu/qemu_conf.c > @@ -2034,6 +2034,8 @@ int qemudBuildCommandLine(virConnectPtr conn, > qenv[qenvc++] = envval; \ > } while (0) > > + /* Make sure to unset or set all envvars in qemuxml2argvtest.c that > + * are copied here using this macro, otherwise the test may fail */ > #define ADD_ENV_COPY(envname) \ > do { \ > char *val = getenv(envname); \ > diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c > index 3b0aa2b..4e97294 100644 > --- a/tests/qemuxml2argvtest.c > +++ b/tests/qemuxml2argvtest.c > @@ -181,6 +181,9 @@ mymain(int argc, char **argv) > #define DO_TEST(name, extraFlags) \ > DO_TEST_FULL(name, extraFlags, NULL) > > + /* Unset or set all envvars here that are copied in qemudBuildCommandLine > + * using ADD_ENV_COPY, otherwise these tests may fail due to unexpected > + * values for these envvars */ > setenv("PATH", "/bin", 1); > setenv("USER", "test", 1); > setenv("LOGNAME", "test", 1); > @@ -188,6 +191,8 @@ mymain(int argc, char **argv) > unsetenv("TMPDIR"); > unsetenv("LD_PRELOAD"); > unsetenv("LD_LIBRARY_PATH"); > + unsetenv("QEMU_AUDIO_DRV"); > + unsetenv("SDL_AUDIODRIVER"); > > DO_TEST("minimal", QEMUD_CMD_FLAG_NAME); > DO_TEST("machine-aliases1", 0); ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list