From 1671b6470271d2c2e9ed20455e1fdd871f785b2d Mon Sep 17 00:00:00 2001 From: Matthias Bolte 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(+) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 47732aba7b..ba31cccc6f 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -2879,6 +2879,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 41e5749fb0..fc237c2124 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -184,6 +184,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); @@ -191,6 +194,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);