From 339ca68bef9f30dd18e84b7d92398327e3f819a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Golembiovsk=C3=BD?= Date: Fri, 14 Jul 2017 16:28:58 +0200 Subject: test-qga: add test for guest-get-osinfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add test for guest-get-osinfo command. Qemu-ga was modified to accept QGA_OS_RELEASE environment variable. If the variable is defined it is interpreted as path to the os-release file and it is parsed instead of the default paths. Signed-off-by: Tomáš Golembiovský Reviewed-by: Marc-André Lureau * move declarations to beginning of functions Signed-off-by: Michael Roth --- qga/commands-posix.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'qga') diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 7b3d89a92c..ab0c63d931 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -2682,7 +2682,8 @@ GuestOSInfo *qmp_guest_get_osinfo(Error **errp) { GuestOSInfo *info = NULL; struct utsname kinfo; - GKeyFile *osrelease; + GKeyFile *osrelease = NULL; + const char *qga_os_release = g_getenv("QGA_OS_RELEASE"); info = g_new0(GuestOSInfo, 1); @@ -2697,9 +2698,13 @@ GuestOSInfo *qmp_guest_get_osinfo(Error **errp) info->machine = g_strdup(kinfo.machine); } - osrelease = ga_parse_osrelease("/etc/os-release"); - if (osrelease == NULL) { - osrelease = ga_parse_osrelease("/usr/lib/os-release"); + if (qga_os_release != NULL) { + osrelease = ga_parse_osrelease(qga_os_release); + } else { + osrelease = ga_parse_osrelease("/etc/os-release"); + if (osrelease == NULL) { + osrelease = ga_parse_osrelease("/usr/lib/os-release"); + } } if (osrelease != NULL) { -- cgit v1.2.1