summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarcel Apfelbaum <marcel.a@redhat.com>2013-12-26 16:54:23 +0200
committerMichael S. Tsirkin <mst@redhat.com>2014-01-26 13:06:49 +0200
commitcc8fa0e80836c51ba644d910cd89540a5bc83fc2 (patch)
treed87e108b72918bde7fef0d8e8bc6453b68ef9d5d /tests
parent9dd6cabdd3bfa49d4f594956e8ee93f8996460c7 (diff)
downloadhqemu-cc8fa0e80836c51ba644d910cd89540a5bc83fc2.zip
hqemu-cc8fa0e80836c51ba644d910cd89540a5bc83fc2.tar.gz
acpi unit-test: extract iasl executable from configuration
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 <marcel.a@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/acpi-test.c31
1 files changed, 8 insertions, 23 deletions
diff --git a/tests/acpi-test.c b/tests/acpi-test.c
index c3fc603..83e5aed 100644
--- a/tests/acpi-test.c
+++ b/tests/acpi-test.c
@@ -127,6 +127,11 @@ 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
+static const char *iasl = stringify(CONFIG_IASL);
+#else
+static const char *iasl;
+#endif
static void free_test_data(test_data *data)
{
@@ -358,26 +363,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;
@@ -406,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;
@@ -417,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);
@@ -571,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);
}
OpenPOWER on IntegriCloud