Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH]: testsuite/gdb.base/ending-run.*
@ 2001-09-12  7:46 Corinna Vinschen
  2001-09-18  6:32 ` Fernando Nasser
  0 siblings, 1 reply; 6+ messages in thread
From: Corinna Vinschen @ 2001-09-12  7:46 UTC (permalink / raw)
  To: gdb-patches

Hi,

I want to propose the following patch to the ending-run test to
make it more robust even on very small target systems.

The C code of the test generates the following output in a loop:

-1 2 7 14 23 34 47 62 79  Goodbye!

This loop prints one number after the other.  Unfortunately, this
test is obviously dependent of the stdout buffer size. On a very
small target system (as the current Sanyo Stormy16 I'm working on),
the default buffer size is set to 16 bytes.  That has the unfortunate
effect to split the output into two runs.  The result is, that the
first half of the output is already printed before the testsuite
expects it.  For that reason the test fails even if it in reality
works ok, just the buffer size prevented the testsuite to pass.

The following patch adds setting the stdout buffersize to a fixed
value which is in order on all targets then, also on very small ones.

The second part of the patch adds an expected regular expression
on the Stormy16 target (which I'm going to contribute to gdb soon)
which results in a full 22 succeeding tests in ending-run.exp.

Corinna

ChangeLog:
==========

2001-09-12  Corinna Vinschen  <vinschen@redhat.com>

	* gdb.base/ending-run.c (main): Set stdout buffersize
	to the same reasonable value for any target.
	* gdb.base/ending-run.exp: Add a regular expression
	to make testsuite happy on Sanyo Stormy16 target

Index: ending-run.c
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/ending-run.c,v
retrieving revision 1.1.1.2
diff -u -p -r1.1.1.2 ending-run.c
--- ending-run.c	1999/06/28 16:03:08	1.1.1.2
+++ ending-run.c	2001/09/12 14:45:07
@@ -22,7 +22,7 @@ int main()
     int i;
 
     p = (int *) malloc( 4 );
-    
+    setvbuf (stdout, alloca (64), _IOLBF, 64);
     for (i = 1; i < 10; i++)
         {
             printf( "%d ", callee( i ));
Index: ending-run.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/ending-run.exp,v
retrieving revision 1.7
diff -u -p -r1.7 ending-run.exp
--- ending-run.exp	2001/07/25 22:41:43	1.7
+++ ending-run.exp	2001/09/12 14:45:07
@@ -170,6 +170,10 @@ gdb_expect {
 		# This is what happens on Solaris currently -sts 1999-08-25
 		pass "step out of main on Solaris"
 	    }
+	    -re ".*in _int_reset ().*$gdb_prompt $" {
+		# This is what happens on Sanyo Stormy16
+		pass "step out of main on Stormy16 thumb"
+	    }
 	    -re ".*in ..change.mode ().*$gdb_prompt $" {
 		# This is what happens on ARM in thumb mode -fn 2000-02-01
 		pass "step out of main on ARM thumb"

-- 
Corinna Vinschen
Cygwin Developer
Red Hat, Inc.
mailto:vinschen@redhat.com


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-09-18  9:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-12  7:46 [PATCH]: testsuite/gdb.base/ending-run.* Corinna Vinschen
2001-09-18  6:32 ` Fernando Nasser
2001-09-18  7:42   ` Corinna Vinschen
2001-09-18  7:57     ` Fernando Nasser
2001-09-18  8:26       ` Corinna Vinschen
2001-09-18  9:34         ` Fernando Nasser

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox