Re: [Qemu-devel] [PATCH] tests: Silence migration-test 'bad' test

2018-03-09 Thread Dr. David Alan Gilbert
* Dr. David Alan Gilbert (git) (dgilb...@redhat.com) wrote:
> From: "Dr. David Alan Gilbert" 
> 
> In 2c9bb29703c I added a migration test that purposely fails;
> unfortunately it prints a copy of the failure message to stderr
> which makes the output a bit messy.
> 
> Hide stderr for that test.
> 
> Signed-off-by: Dr. David Alan Gilbert 

Queued

> ---
>  tests/migration-test.c | 17 ++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/migration-test.c b/tests/migration-test.c
> index 74f9361bdd..422bf1afdf 100644
> --- a/tests/migration-test.c
> +++ b/tests/migration-test.c
> @@ -382,7 +382,7 @@ static void migrate_start_postcopy(QTestState *who)
>  }
>  
>  static void test_migrate_start(QTestState **from, QTestState **to,
> -   const char *uri)
> +   const char *uri, bool hide_stderr)
>  {
>  gchar *cmd_src, *cmd_dst;
>  char *bootpath = g_strdup_printf("%s/bootsect", tmpfs);
> @@ -427,6 +427,17 @@ static void test_migrate_start(QTestState **from, 
> QTestState **to,
>  
>  g_free(bootpath);
>  
> +if (hide_stderr) {
> +gchar *tmp;
> +tmp = g_strdup_printf("%s 2>/dev/null", cmd_src);
> +g_free(cmd_src);
> +cmd_src = tmp;
> +
> +tmp = g_strdup_printf("%s 2>/dev/null", cmd_dst);
> +g_free(cmd_dst);
> +cmd_dst = tmp;
> +}
> +
>  *from = qtest_start(cmd_src);
>  g_free(cmd_src);
>  
> @@ -518,7 +529,7 @@ static void test_migrate(void)
>  char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
>  QTestState *from, *to;
>  
> -test_migrate_start(, , uri);
> +test_migrate_start(, , uri, false);
>  
>  migrate_set_capability(from, "postcopy-ram", "true");
>  migrate_set_capability(to, "postcopy-ram", "true");
> @@ -560,7 +571,7 @@ static void test_baddest(void)
>  const char *status;
>  bool failed;
>  
> -test_migrate_start(, , "tcp:0:0");
> +test_migrate_start(, , "tcp:0:0", true);
>  migrate(from, "tcp:0:0");
>  do {
>  rsp = wait_command(from, "{ 'execute': 'query-migrate' }");
> -- 
> 2.14.3
> 
> 
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK



Re: [Qemu-devel] [PATCH] tests: Silence migration-test 'bad' test

2018-03-06 Thread Peter Xu
On Tue, Mar 06, 2018 at 05:30:42PM +, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" 
> 
> In 2c9bb29703c I added a migration test that purposely fails;
> unfortunately it prints a copy of the failure message to stderr
> which makes the output a bit messy.
> 
> Hide stderr for that test.
> 
> Signed-off-by: Dr. David Alan Gilbert 
> ---
>  tests/migration-test.c | 17 ++---
>  1 file changed, 14 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/migration-test.c b/tests/migration-test.c
> index 74f9361bdd..422bf1afdf 100644
> --- a/tests/migration-test.c
> +++ b/tests/migration-test.c
> @@ -382,7 +382,7 @@ static void migrate_start_postcopy(QTestState *who)
>  }
>  
>  static void test_migrate_start(QTestState **from, QTestState **to,
> -   const char *uri)
> +   const char *uri, bool hide_stderr)
>  {
>  gchar *cmd_src, *cmd_dst;
>  char *bootpath = g_strdup_printf("%s/bootsect", tmpfs);
> @@ -427,6 +427,17 @@ static void test_migrate_start(QTestState **from, 
> QTestState **to,
>  
>  g_free(bootpath);
>  
> +if (hide_stderr) {
> +gchar *tmp;
> +tmp = g_strdup_printf("%s 2>/dev/null", cmd_src);
> +g_free(cmd_src);
> +cmd_src = tmp;
> +
> +tmp = g_strdup_printf("%s 2>/dev/null", cmd_dst);
> +g_free(cmd_dst);
> +cmd_dst = tmp;

I thought this would affect QTEST_LOG in
qtest_init_without_qmp_handshake() but I was wrong.  I think that's
because that "/dev/fd/2" is a string passed to QEMU process, so only
the stderr of test process is closed while we kept the QTEST_LOG
there, which seems to be ideal.

Reviewed-by: Peter Xu 
Tested-by: Peter Xu 

-- 
Peter Xu



[Qemu-devel] [PATCH] tests: Silence migration-test 'bad' test

2018-03-06 Thread Dr. David Alan Gilbert (git)
From: "Dr. David Alan Gilbert" 

In 2c9bb29703c I added a migration test that purposely fails;
unfortunately it prints a copy of the failure message to stderr
which makes the output a bit messy.

Hide stderr for that test.

Signed-off-by: Dr. David Alan Gilbert 
---
 tests/migration-test.c | 17 ++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/tests/migration-test.c b/tests/migration-test.c
index 74f9361bdd..422bf1afdf 100644
--- a/tests/migration-test.c
+++ b/tests/migration-test.c
@@ -382,7 +382,7 @@ static void migrate_start_postcopy(QTestState *who)
 }
 
 static void test_migrate_start(QTestState **from, QTestState **to,
-   const char *uri)
+   const char *uri, bool hide_stderr)
 {
 gchar *cmd_src, *cmd_dst;
 char *bootpath = g_strdup_printf("%s/bootsect", tmpfs);
@@ -427,6 +427,17 @@ static void test_migrate_start(QTestState **from, 
QTestState **to,
 
 g_free(bootpath);
 
+if (hide_stderr) {
+gchar *tmp;
+tmp = g_strdup_printf("%s 2>/dev/null", cmd_src);
+g_free(cmd_src);
+cmd_src = tmp;
+
+tmp = g_strdup_printf("%s 2>/dev/null", cmd_dst);
+g_free(cmd_dst);
+cmd_dst = tmp;
+}
+
 *from = qtest_start(cmd_src);
 g_free(cmd_src);
 
@@ -518,7 +529,7 @@ static void test_migrate(void)
 char *uri = g_strdup_printf("unix:%s/migsocket", tmpfs);
 QTestState *from, *to;
 
-test_migrate_start(, , uri);
+test_migrate_start(, , uri, false);
 
 migrate_set_capability(from, "postcopy-ram", "true");
 migrate_set_capability(to, "postcopy-ram", "true");
@@ -560,7 +571,7 @@ static void test_baddest(void)
 const char *status;
 bool failed;
 
-test_migrate_start(, , "tcp:0:0");
+test_migrate_start(, , "tcp:0:0", true);
 migrate(from, "tcp:0:0");
 do {
 rsp = wait_command(from, "{ 'execute': 'query-migrate' }");
-- 
2.14.3