From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59957) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VvqXi-0003Uv-Gu for qemu-devel@nongnu.org; Wed, 25 Dec 2013 10:38:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VvqXc-0007ro-7S for qemu-devel@nongnu.org; Wed, 25 Dec 2013 10:38:42 -0500 Received: from mx1.redhat.com ([209.132.183.28]:5589) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VvqXb-0007rj-UI for qemu-devel@nongnu.org; Wed, 25 Dec 2013 10:38:36 -0500 From: Marcel Apfelbaum Date: Wed, 25 Dec 2013 17:38:23 +0200 Message-Id: <1387985903-13137-3-git-send-email-marcel.a@redhat.com> In-Reply-To: <1387985903-13137-1-git-send-email-marcel.a@redhat.com> References: <1387985903-13137-1-git-send-email-marcel.a@redhat.com> Subject: [Qemu-devel] [PATCH v2 2/2] acpi unit-test: extract iasl executable from configuration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, peter.maydell@linaro.org, pbonzini@redhat.com, famz@redhat.com, mst@redhat.com The test checked if iasl is installed by running "iasl" and checking the error output. It is better to use the iasl executable as appears in configuration. Signed-off-by: Marcel Apfelbaum --- v1 -> v2: Addressed Michael S. Tsirkin's comments: - Stringified iasl value tests/acpi-test.c | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/tests/acpi-test.c b/tests/acpi-test.c index 4f0cca6..5e83df0 100644 --- a/tests/acpi-test.c +++ b/tests/acpi-test.c @@ -127,6 +127,15 @@ static uint8_t boot_sector[0x7e000] = { static const char *disk = "tests/acpi-test-disk.raw"; static const char *data_dir = "tests/acpi-test-data"; +#ifdef CONFIG_IASL + +#define IASL_STRINGIFY_(x) #x +#define IASL_STRINGIFY(x) IASL_STRINGIFY_(x) + +static const char *iasl = IASL_STRINGIFY(CONFIG_IASL); +#else +static const char *iasl; +#endif static void free_test_data(test_data *data) { @@ -358,26 +367,6 @@ static void test_acpi_ssdt_tables(test_data *data) } } -static bool iasl_installed(void) -{ - gchar *out = NULL, *out_err = NULL; - bool ret; - - /* pass 'out' and 'out_err' in order to be redirected */ - ret = g_spawn_command_line_sync("iasl", &out, &out_err, NULL, NULL); - - if (out_err) { - ret = ret && (out_err[0] == '\0'); - g_free(out_err); - } - - if (out) { - g_free(out); - } - - return ret; -} - static void dump_aml_files(test_data *data) { AcpiSdtTable *sdt; @@ -402,7 +391,7 @@ static void load_asl(GArray *sdts, AcpiSdtTable *sdt) { AcpiSdtTable *temp; GError *error = NULL; - GString *command_line = g_string_new("'iasl' "); + GString *command_line = g_string_new(iasl); gint fd; gchar *out, *out_err; gboolean ret; @@ -413,7 +402,7 @@ static void load_asl(GArray *sdts, AcpiSdtTable *sdt) close(fd); /* build command line */ - g_string_append_printf(command_line, "-p %s ", sdt->asl_file); + g_string_append_printf(command_line, " -p %s ", sdt->asl_file); for (i = 0; i < 2; ++i) { /* reference DSDT and SSDT */ temp = &g_array_index(sdts, AcpiSdtTable, i); g_string_append_printf(command_line, "-e %s ", temp->aml_file); @@ -567,7 +556,7 @@ static void test_acpi_one(const char *params, test_data *data) test_acpi_dsdt_table(data); test_acpi_ssdt_tables(data); - if (iasl_installed()) { + if (iasl) { test_acpi_asl(data); } -- 1.8.3.1