This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: RFA: force output at predictable points in ending-run.c
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: Jim Blandy <jimb at cygnus dot com>,Fernando Nasser <fnasser at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Sun, 20 Jan 2002 19:25:21 -0500
- Subject: Re: RFA: force output at predictable points in ending-run.c
- References: <20020112065251.549665E9D8@zwingli.cygnus.com>
> 2002-01-12 Jim Blandy <jimb@redhat.com>
>
> * gdb.base/ending-run.c (main): Avoid messing with setvbuf; just
> call `fflush' after every `printf', so that the output is produced
> at predictable points, regardless of whatever buffering does (or
> doesn't) take place.
> * gdb.base/ending-run.exp: Adjust tests to expect output to appear
> at different points.
>
> Index: gdb/testsuite/gdb.base/ending-run.c
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/ending-run.c,v
> retrieving revision 1.4
> diff -c -r1.4 ending-run.c
> *** gdb/testsuite/gdb.base/ending-run.c 2001/09/18 17:50:36 1.4
> --- gdb/testsuite/gdb.base/ending-run.c 2002/01/12 06:47:54
> ***************
> *** 22,33 ****
> int i;
>
> p = (int *) malloc( 4 );
> ! setvbuf (stdout, alloca (64), _IOLBF, 64);
> for (i = 1; i < 10; i++)
> {
> printf( "%d ", callee( i ));
> !
> }
> ! printf( " Goodbye!\n" );
> return 0;
> }
> --- 22,33 ----
> int i;
>
> p = (int *) malloc( 4 );
> !
> for (i = 1; i < 10; i++)
> {
> printf( "%d ", callee( i ));
> ! fflush (stdout);
> }
> ! printf( " Goodbye!\n" ); fflush (stdout);
> return 0;
> }
> Index: gdb/testsuite/gdb.base/ending-run.exp
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/ending-run.exp,v
> retrieving revision 1.23
> diff -c -r1.23 ending-run.exp
> *** gdb/testsuite/gdb.base/ending-run.exp 2001/11/10 22:27:26 1.23
> --- gdb/testsuite/gdb.base/ending-run.exp 2002/01/12 06:47:54
> ***************
> *** 129,138 ****
> # See if we can step out with control. The "1 2 3" stuff
> # is output from the program.
> #
> ! gdb_test "cont" ".*Breakpoint.*31.*"
>
> if ![gdb_skip_stdio_test "Step to return"] {
> ! gdb_test "next" ".*1 2 7 14 23 34 47 62 79 Goodbye!.*32.*" \
> "Step to return"
> } else {
> gdb_test "next" "" ""
> --- 129,138 ----
> # See if we can step out with control. The "1 2 3" stuff
> # is output from the program.
> #
> ! gdb_test "cont" ".*1 2 7 14 23 34 47 62 79.*Breakpoint.*31.*"
>
> if ![gdb_skip_stdio_test "Step to return"] {
> ! gdb_test "next" ".*Goodbye!.*32.*" \
> "Step to return"
> } else {
> gdb_test "next" "" ""
>
>