On Tue, Mar 06, 2018 at 05:30:42PM +0000, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > 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 <dgilb...@redhat.com> > --- > 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 <pet...@redhat.com> Tested-by: Peter Xu <pet...@redhat.com> -- Peter Xu