diff mbox

[04/14] libqos: add qtest_vboot

Message ID 1421120079-987-5-git-send-email-jsnow@redhat.com
State New
Headers show

Commit Message

John Snow Jan. 13, 2015, 3:34 a.m. UTC
Add a va_list variant of the qtest_boot function.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 tests/libqos/libqos.c | 25 +++++++++++++++++++------
 tests/libqos/libqos.h |  1 +
 2 files changed, 20 insertions(+), 6 deletions(-)

Comments

Paolo Bonzini Jan. 19, 2015, 5:01 p.m. UTC | #1
On 13/01/2015 04:34, John Snow wrote:
> Add a va_list variant of the qtest_boot function.
> 
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>  tests/libqos/libqos.c | 25 +++++++++++++++++++------
>  tests/libqos/libqos.h |  1 +
>  2 files changed, 20 insertions(+), 6 deletions(-)
> 
> diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c
> index c478bc9..c8b3ef0 100644
> --- a/tests/libqos/libqos.c
> +++ b/tests/libqos/libqos.c
> @@ -16,16 +16,13 @@
>   * Launch QEMU with the given command line,
>   * and then set up interrupts and our guest malloc interface.
>   */
> -QOSState *qtest_boot(const char *cmdline_fmt, ...)
> +QOSState *qtest_vboot(const char *cmdline_fmt, va_list ap)
>  {
> -    QOSState *qs = g_malloc(sizeof(QOSState));
>      char *cmdline;
> -    va_list ap;
>  
> -    va_start(ap, cmdline_fmt);
> +    struct QOSState *qs = g_malloc(sizeof(QOSState));
> +
>      cmdline = g_strdup_vprintf(cmdline_fmt, ap);
> -    va_end(ap);
> -
>      qs->qts = qtest_start(cmdline);
>      qtest_irq_intercept_in(global_qtest, "ioapic");
>      qs->alloc = pc_alloc_init();
> @@ -35,6 +32,22 @@ QOSState *qtest_boot(const char *cmdline_fmt, ...)
>  }
>  
>  /**
> + * Launch QEMU with the given command line,
> + * and then set up interrupts and our guest malloc interface.
> + */
> +QOSState *qtest_boot(const char *cmdline_fmt, ...)
> +{
> +    QOSState *qs;
> +    va_list ap;
> +
> +    va_start(ap, cmdline_fmt);
> +    qs = qtest_vboot(cmdline_fmt, ap);
> +    va_end(ap);
> +
> +    return qs;
> +}
> +
> +/**
>   * Tear down the QEMU instance.
>   */
>  void qtest_shutdown(QOSState *qs)
> diff --git a/tests/libqos/libqos.h b/tests/libqos/libqos.h
> index 7a106f2..7ae0a8d 100644
> --- a/tests/libqos/libqos.h
> +++ b/tests/libqos/libqos.h
> @@ -10,6 +10,7 @@ typedef struct QOSState {
>      QGuestAllocator *alloc;
>  } QOSState;
>  
> +QOSState *qtest_vboot(const char *cmdline_fmt, va_list ap);
>  QOSState *qtest_boot(const char *cmdline_fmt, ...);
>  void qtest_shutdown(QOSState *qs);
>  
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
diff mbox

Patch

diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c
index c478bc9..c8b3ef0 100644
--- a/tests/libqos/libqos.c
+++ b/tests/libqos/libqos.c
@@ -16,16 +16,13 @@ 
  * Launch QEMU with the given command line,
  * and then set up interrupts and our guest malloc interface.
  */
-QOSState *qtest_boot(const char *cmdline_fmt, ...)
+QOSState *qtest_vboot(const char *cmdline_fmt, va_list ap)
 {
-    QOSState *qs = g_malloc(sizeof(QOSState));
     char *cmdline;
-    va_list ap;
 
-    va_start(ap, cmdline_fmt);
+    struct QOSState *qs = g_malloc(sizeof(QOSState));
+
     cmdline = g_strdup_vprintf(cmdline_fmt, ap);
-    va_end(ap);
-
     qs->qts = qtest_start(cmdline);
     qtest_irq_intercept_in(global_qtest, "ioapic");
     qs->alloc = pc_alloc_init();
@@ -35,6 +32,22 @@  QOSState *qtest_boot(const char *cmdline_fmt, ...)
 }
 
 /**
+ * Launch QEMU with the given command line,
+ * and then set up interrupts and our guest malloc interface.
+ */
+QOSState *qtest_boot(const char *cmdline_fmt, ...)
+{
+    QOSState *qs;
+    va_list ap;
+
+    va_start(ap, cmdline_fmt);
+    qs = qtest_vboot(cmdline_fmt, ap);
+    va_end(ap);
+
+    return qs;
+}
+
+/**
  * Tear down the QEMU instance.
  */
 void qtest_shutdown(QOSState *qs)
diff --git a/tests/libqos/libqos.h b/tests/libqos/libqos.h
index 7a106f2..7ae0a8d 100644
--- a/tests/libqos/libqos.h
+++ b/tests/libqos/libqos.h
@@ -10,6 +10,7 @@  typedef struct QOSState {
     QGuestAllocator *alloc;
 } QOSState;
 
+QOSState *qtest_vboot(const char *cmdline_fmt, va_list ap);
 QOSState *qtest_boot(const char *cmdline_fmt, ...);
 void qtest_shutdown(QOSState *qs);