From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Nasser To: gdb-patches Subject: Re: [PATCH]: testsuite/gdb.base/ending-run.* Date: Tue, 18 Sep 2001 06:32:00 -0000 Message-id: <3BA74BF3.97D7C650@redhat.com> References: <20010912164628.T1285@cygbert.vinschen.de> X-SW-Source: 2001-09/msg00225.html Corinna Vinschen wrote: > > 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 > Thanks for the patch. It is approved with a small change (see below). It is OK fr the tests to expect alternative patterns depending on the target, but the test identification must remain the same nevertheless (it would confuse people's test result analysis scripts otherwise). The reference that matches the pattern to the architecture must be on the comment (only). Regards, Fernando P.S.: It is OK to still say "ARM thumb" as ARM is the reference architecture that is licensed by chip manufacturers (it is still ARM at the core). > ChangeLog: > ========== > > 2001-09-12 Corinna Vinschen > > * 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" ^^^^^^^^ ARM > + } > -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 -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9