qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] acpi unit-test: extract iasl executable from configuration
@ 2013-12-25 10:50 Marcel Apfelbaum
  2013-12-25 10:50 ` [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h Marcel Apfelbaum
  2013-12-25 10:50 ` [Qemu-devel] [PATCH 2/2] acpi unit-test: extract iasl executable from configuration Marcel Apfelbaum
  0 siblings, 2 replies; 5+ messages in thread
From: Marcel Apfelbaum @ 2013-12-25 10:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: mst

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.

patch 1: exports IASL configuration option to config-host.h
patch 2: acpi unit-test uses the exported CONFIG_IASL define

Marcel Apfelbaum (2):
  configure: add CONFIG_IASL to config-host.h
  acpi unit-test: extract iasl executable from configuration

 scripts/create_config |  4 ++++
 tests/acpi-test.c     | 31 ++++++++-----------------------
 2 files changed, 12 insertions(+), 23 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h
  2013-12-25 10:50 [Qemu-devel] [PATCH 0/2] acpi unit-test: extract iasl executable from configuration Marcel Apfelbaum
@ 2013-12-25 10:50 ` Marcel Apfelbaum
  2013-12-25 10:56   ` Marcel Apfelbaum
  2013-12-25 14:22   ` Michael S. Tsirkin
  2013-12-25 10:50 ` [Qemu-devel] [PATCH 2/2] acpi unit-test: extract iasl executable from configuration Marcel Apfelbaum
  1 sibling, 2 replies; 5+ messages in thread
From: Marcel Apfelbaum @ 2013-12-25 10:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: mst

Acpi unit-tests will extract the iasl executable
from CONFIG_IASL define.

Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
---
 scripts/create_config | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/create_config b/scripts/create_config
index b1adbf5..0478315 100755
--- a/scripts/create_config
+++ b/scripts/create_config
@@ -26,6 +26,10 @@ case $line in
     # save for the next definitions
     prefix=${line#*=}
     ;;
+ IASL=*) # iasl executable
+    value=${line#*=}
+    echo "#define CONFIG_IASL \"$value\""
+    ;;
  CONFIG_AUDIO_DRIVERS=*)
     drivers=${line#*=}
     echo "#define CONFIG_AUDIO_DRIVERS \\"
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Qemu-devel] [PATCH 2/2] acpi unit-test: extract iasl executable from configuration
  2013-12-25 10:50 [Qemu-devel] [PATCH 0/2] acpi unit-test: extract iasl executable from configuration Marcel Apfelbaum
  2013-12-25 10:50 ` [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h Marcel Apfelbaum
@ 2013-12-25 10:50 ` Marcel Apfelbaum
  1 sibling, 0 replies; 5+ messages in thread
From: Marcel Apfelbaum @ 2013-12-25 10:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: mst

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>
---
 tests/acpi-test.c | 31 ++++++++-----------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

diff --git a/tests/acpi-test.c b/tests/acpi-test.c
index 4f0cca6..d9374f2 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 = 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;
@@ -402,7 +387,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 +398,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 +552,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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h
  2013-12-25 10:50 ` [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h Marcel Apfelbaum
@ 2013-12-25 10:56   ` Marcel Apfelbaum
  2013-12-25 14:22   ` Michael S. Tsirkin
  1 sibling, 0 replies; 5+ messages in thread
From: Marcel Apfelbaum @ 2013-12-25 10:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, Peter Maydell, Paolo Bonzini, famz, mst

On Wed, 2013-12-25 at 12:50 +0200, Marcel Apfelbaum wrote:
> Acpi unit-tests will extract the iasl executable
> from CONFIG_IASL define.
> 
> Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>

Added the maintainers of scripts/create_config,
sorry for not doing it in the first place.

Thanks,
Marcel

> ---
>  scripts/create_config | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/scripts/create_config b/scripts/create_config
> index b1adbf5..0478315 100755
> --- a/scripts/create_config
> +++ b/scripts/create_config
> @@ -26,6 +26,10 @@ case $line in
>      # save for the next definitions
>      prefix=${line#*=}
>      ;;
> + IASL=*) # iasl executable
> +    value=${line#*=}
> +    echo "#define CONFIG_IASL \"$value\""
> +    ;;
>   CONFIG_AUDIO_DRIVERS=*)
>      drivers=${line#*=}
>      echo "#define CONFIG_AUDIO_DRIVERS \\"

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h
  2013-12-25 10:50 ` [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h Marcel Apfelbaum
  2013-12-25 10:56   ` Marcel Apfelbaum
@ 2013-12-25 14:22   ` Michael S. Tsirkin
  1 sibling, 0 replies; 5+ messages in thread
From: Michael S. Tsirkin @ 2013-12-25 14:22 UTC (permalink / raw)
  To: Marcel Apfelbaum; +Cc: qemu-devel

On Wed, Dec 25, 2013 at 12:50:15PM +0200, Marcel Apfelbaum wrote:
> Acpi unit-tests will extract the iasl executable
> from CONFIG_IASL define.
> 
> Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
> ---
>  scripts/create_config | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/scripts/create_config b/scripts/create_config
> index b1adbf5..0478315 100755
> --- a/scripts/create_config
> +++ b/scripts/create_config
> @@ -26,6 +26,10 @@ case $line in
>      # save for the next definitions
>      prefix=${line#*=}
>      ;;
> + IASL=*) # iasl executable
> +    value=${line#*=}
> +    echo "#define CONFIG_IASL \"$value\""
> +    ;;

This won't work correctly if IASL includes any
special characters like \ or '.
It's a good idea to use preprocessor's # operator,
that escapes them properly.
We have a bunch of macros like this all over the place, short term
you can introduce
#define CONFIG_STRINGIFY(x) #x
longer term we really want QEMU_STRINGIFY.

>   CONFIG_AUDIO_DRIVERS=*)
>      drivers=${line#*=}
>      echo "#define CONFIG_AUDIO_DRIVERS \\"
> -- 
> 1.8.3.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-12-25 14:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-25 10:50 [Qemu-devel] [PATCH 0/2] acpi unit-test: extract iasl executable from configuration Marcel Apfelbaum
2013-12-25 10:50 ` [Qemu-devel] [PATCH 1/2] configure: add CONFIG_IASL to config-host.h Marcel Apfelbaum
2013-12-25 10:56   ` Marcel Apfelbaum
2013-12-25 14:22   ` Michael S. Tsirkin
2013-12-25 10:50 ` [Qemu-devel] [PATCH 2/2] acpi unit-test: extract iasl executable from configuration Marcel Apfelbaum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).