This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
RFA: force output at predictable points in ending-run.c
- From: Jim Blandy <jimb at zwingli dot cygnus dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Sat, 12 Jan 2002 01:52:51 -0500 (EST)
- Subject: RFA: force output at predictable points in ending-run.c
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" "" ""