* [dpdk-dev] [PATCH] app/test: flush stdout after forking
@ 2021-07-26 12:16 John Levon
2021-07-26 12:27 ` Bruce Richardson
0 siblings, 1 reply; 4+ messages in thread
From: John Levon @ 2021-07-26 12:16 UTC (permalink / raw)
To: dev; +Cc: John Levon
meson test was not capturing the intended output from the child
process; force a flush to ensure it reaches the test log.
Signed-off-by: John Levon <john.levon@nutanix.com>
---
app/test/process.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/test/process.h b/app/test/process.h
index a09a088477..0ed91a939e 100644
--- a/app/test/process.h
+++ b/app/test/process.h
@@ -110,6 +110,7 @@ process_dup(const char *const argv[], int numargs, const char *env_value)
for (i = 0; i < num; i++)
printf("'%s' ", argv_cpy[i]);
printf("\n");
+ fflush(stdout);
/* set the environment variable */
if (setenv(RECURSIVE_ENV_VAR, env_value, 1) != 0)
--
2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] app/test: flush stdout after forking
2021-07-26 12:16 [dpdk-dev] [PATCH] app/test: flush stdout after forking John Levon
@ 2021-07-26 12:27 ` Bruce Richardson
2021-07-26 12:33 ` John Levon
2021-07-31 17:44 ` Thomas Monjalon
0 siblings, 2 replies; 4+ messages in thread
From: Bruce Richardson @ 2021-07-26 12:27 UTC (permalink / raw)
To: John Levon; +Cc: dev
On Mon, Jul 26, 2021 at 01:16:27PM +0100, John Levon wrote:
> meson test was not capturing the intended output from the child
> process; force a flush to ensure it reaches the test log.
>
> Signed-off-by: John Levon <john.levon@nutanix.com>
> ---
> app/test/process.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/app/test/process.h b/app/test/process.h
> index a09a088477..0ed91a939e 100644
> --- a/app/test/process.h
> +++ b/app/test/process.h
> @@ -110,6 +110,7 @@ process_dup(const char *const argv[], int numargs, const char *env_value)
> for (i = 0; i < num; i++)
> printf("'%s' ", argv_cpy[i]);
> printf("\n");
> + fflush(stdout);
>
I thought that "\n" normally flushes in most cases, but if explicit flush
is necessary for some cases, let's add it.
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] app/test: flush stdout after forking
2021-07-26 12:27 ` Bruce Richardson
@ 2021-07-26 12:33 ` John Levon
2021-07-31 17:44 ` Thomas Monjalon
1 sibling, 0 replies; 4+ messages in thread
From: John Levon @ 2021-07-26 12:33 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev
On Mon, Jul 26, 2021 at 01:27:48PM +0100, Bruce Richardson wrote:
> On Mon, Jul 26, 2021 at 01:16:27PM +0100, John Levon wrote:
> > meson test was not capturing the intended output from the child
> > process; force a flush to ensure it reaches the test log.
> >
> > Signed-off-by: John Levon <john.levon@nutanix.com>
> > ---
> > app/test/process.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/app/test/process.h b/app/test/process.h
> > index a09a088477..0ed91a939e 100644
> > --- a/app/test/process.h
> > +++ b/app/test/process.h
> > @@ -110,6 +110,7 @@ process_dup(const char *const argv[], int numargs, const char *env_value)
> > for (i = 0; i < num; i++)
> > printf("'%s' ", argv_cpy[i]);
> > printf("\n");
> > + fflush(stdout);
> >
> I thought that "\n" normally flushes in most cases, but if explicit flush
> is necessary for some cases, let's add it.
stdout is only line-buffered if it's to a tty, but regardless, meson test
appears to wrap all output into tmp files. I didn't dig into exactly what's
going on with meson (or why the fork() matters), but certainly you don't get
this output *at all* under meson test (even with -v), but you do running
dpdk_test directly.
Furthermore, looks like others have found the same thing as there are several
other direct fflush()es.
regards
john
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] app/test: flush stdout after forking
2021-07-26 12:27 ` Bruce Richardson
2021-07-26 12:33 ` John Levon
@ 2021-07-31 17:44 ` Thomas Monjalon
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Monjalon @ 2021-07-31 17:44 UTC (permalink / raw)
To: John Levon; +Cc: dev, Bruce Richardson
26/07/2021 14:27, Bruce Richardson:
> On Mon, Jul 26, 2021 at 01:16:27PM +0100, John Levon wrote:
> > meson test was not capturing the intended output from the child
> > process; force a flush to ensure it reaches the test log.
> >
> > Signed-off-by: John Levon <john.levon@nutanix.com>
>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Applied, thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-07-31 17:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-26 12:16 [dpdk-dev] [PATCH] app/test: flush stdout after forking John Levon
2021-07-26 12:27 ` Bruce Richardson
2021-07-26 12:33 ` John Levon
2021-07-31 17:44 ` Thomas Monjalon
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).