Commit cc8fa0e8 authored by Marcel Apfelbaum's avatar Marcel Apfelbaum Committed by Michael S. Tsirkin
Browse files

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: default avatarMarcel Apfelbaum <marcel.a@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 9dd6cabd
Loading
Loading
Loading
Loading
+8 −23
Original line number Diff line number Diff line
@@ -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;
@@ -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);
    }