This is the mail archive of the gdb-patches@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RFC: Testsuite patches, a few comments and questions...


I spent most of today running the testsuite on the 5.0 branch on a NetWinder. 
My goal was to get rid of all XPASS and UNTESTED results.  I also took the time
to examine which tests were not being run on my platform and why.  In many cases
that boiled down to which tests ran only on HP platforms.

Using the attached patches to the test suite I can achieve the appended results
on ARM Linux in the GDB 5.0 branch.  Most of the patches remove setup_xfails or
simple enable the tests to be run on ARM Linux.  The lone exception is:

        * testsuite/gdb.base/so-impl-ld.exp: Fixed typo in triplet for
        linux.  Added wildcard to handle gnu-oldld case on ARM.

I had to remove a leading space in the triplet to get the test to run.  I also
added a wildcard ("*") after the gnu to handle the arm*-*-linux-gnuoldld target.

I enabled the following tests to run on ARM Linux.  For the most part, the
previously they only ran on HP configurations.  They are included in the
appended results.  For the most part they seem to be useful tests for Linux in
general, but are just run for HP configurations.  I'd appreciate comments if
someone thinks they are not.  I only gave them a cursory once over during my
tests today.

gdb.base/environ.exp		23/26 tests pass
gdb.base/recurse.exp		19/19 tests pass
gdb.base/sect-cmd.exp		3/4 tests pass
gdb.base/so-indr-cl.exp		1/2 tests pass

I also tried the following tests on ARM Linux.  None of these run on anything
but HP configurations.  They are NOT included in the attached results.  These
seem like they would be useful, but for the most part more than 50% of the tests
fail.  I've spent no time following these up.  Some of the results are
surprising; completion.exp tests command line completion.  I'd expect it to work
on any machine.  Comments would interest me.

gdb.base/attach.exp		15/23 tests pass
gdb.base/completion.exp		4/23 tests pass
gdb.base/foll-exec.exp		12/27 tests pass
gdb.base/foll-fork.exp		15/26 tests pass
gdb.base/foll-vfork.exp		6/15 tests pass
gdb.base/member-ptr.exp		12/39 tests pass
gdb.base/solib.exp		0/26 tests pass

I also tried the following tests on ARM Linux.  None of these compiled for me.

gdb.c++/ambiguous.exp
gdb.c++/ctti.exp
gdb.threads/step.exp
gdb.threads/step2.exp

I don't understand the following code from pthreads.exp:

proc test_startup {} {
    global srcdir srcfile gdb_prompt expect_out
    global horiz
    global main_id thread1_id thread2_id

    # We should be able to do an info threads before starting any others.
    send_gdb "info threads\n"
    gdb_expect {
        -re ".*Thread.*LWP.*main.*$gdb_prompt $" {
            pass "info threads"
        }
        -re "\r\n$gdb_prompt $" {
            pass "info threads"
            setup_xfail "*-*-*"
            fail "gdb does not support pthreads for this machine"
            return 0
...

The last expect case is very odd.  It succeeds, sets up an xfail, fails and
exits deliberately as it is starting the tests.  Why?  Is there some reason for
this?

While I did this work in the branch, I'm not convinced the patch is suitable for
it.  Any comments?  

The results follow:

Native configuration is armv4l-unknown-linux-gnu

                === gdb tests ===


Running target unix
FAIL: gdb.base/annota1.exp: run until main breakpoint
FAIL: gdb.base/annota1.exp: backtrace from shlibrary
FAIL: gdb.base/annota1.exp: backtrace @ signal handler
FAIL: gdb.base/break.exp: break main #1
FAIL: gdb.base/break.exp: break main #2
FAIL: gdb.base/break.exp: clear main
FAIL: gdb.base/break.exp: breakpoint function, optimized file
FAIL: gdb.base/break.exp: run until function breakpoint, optimized file
FAIL: gdb.base/break.exp: run until breakpoint set at small function, optimized
file
FAIL: gdb.base/commands.exp: continue in infrun_breakpoint_command_test
FAIL: gdb.base/corefile.exp: args: -core=corefile
FAIL: gdb.base/environ.exp: info program
FAIL: gdb.base/environ.exp: info program after step
FAIL: gdb.base/environ.exp: info program after deleted breakpoint
FAIL: gdb.base/interrupt.exp: continue
FAIL: gdb.base/interrupt.exp: send end of file
FAIL: gdb.base/return.exp: correct value returned double test (known problem
with i*86 and sparc solaris
FAIL: gdb.base/sect-cmd.exp: set section command
FAIL: gdb.base/selftest.exp: backtrace through signal handler
FAIL: gdb.base/sigall.exp: get signal CHLD
FAIL: gdb.base/sigall.exp: advance to TTIN
FAIL: gdb.base/sigall.exp: get signal TTIN
FAIL: gdb.base/signals.exp: 'next' behaved as 'continue (known SVR4 bug)'
FAIL: gdb.base/signals.exp: bt in signals.exp
FAIL: gdb.base/so-impl-ld.exp: step into solib call
FAIL: gdb.base/so-impl-ld.exp: step in solib call
FAIL: gdb.base/so-impl-ld.exp: step out of solib call
FAIL: gdb.base/so-indr-cl.exp: break on indirect solib call before running
FAIL: gdb.base/step-test.exp: large struct by value
FAIL: gdb.base/step-test.exp: continue until exit at step-test.exp: the program
is no longer running
FAIL: gdb.base/structs2.exp: structs2 continue2 (PRMS 13536)
FAIL: gdb.c++/annota2.exp: delete bps
FAIL: gdb.c++/annota2.exp: annotate-quit
FAIL: gdb.c++/virtfunc.exp: print pEe->vvb()
FAIL: gdb.mi/mi-console.exp: Hello message (timeout)
FAIL: gdb.mi/mi-stack.exp: stack args listing 0
FAIL: gdb.mi/mi-stack.exp: stack args listing 1
FAIL: gdb.mi/mi-stack.exp: stack info-depth
FAIL: gdb.mi/mi-stack.exp: stack info-depth 99
FAIL: gdb.stabs/weird.exp: p v_comb

                === gdb Summary ===

# of expected passes            6929
# of unexpected failures        40
# of expected failures          175


2000-04-19  Scott Bambrough <scottb@netwinder.org>

        * testsuite/gdb.base/environ.exp: Run tests for arm*-*-linux-gnu*.
        * testsuite/gdb.base/recurse.exp: Run tests for arm*-*-linux-gnu*.
        * testsuite/gdb.base/sect-cmd.exp: Run tests for arm*-*-linux-gnu*.

        * testsuite/gdb.base/so-impl-ld.exp: Fixed typo in triplet for
        linux.  Added wildcard to handle gnu-oldld case on ARM.

        * testsuite/gdb.base/so-indr-cl.exp: Run tests for arm*-*-linux-gnu*.
        * testsuite/gdb.base/watchpoint.exp (test_stepping): Clear xfail. 

        * testsuite/gdb.c++/derivation.exp 
        (print g_instance.afoo): Remove setup_xfail "*-*-*". 
        (print g_instance.bfoo): Remove setup_xfail "*-*-*". 
        (print g_instance.cfoo): Remove setup_xfail "*-*-*". 

        * testsuite/gdb.c++/overload.exp
        (print foo_instance1.overload_args()):  Remove setup_xfail "*-*-*" 
        on all tests (1-11 arguments).
        (print foo_instance1.overload1arg()): Remove setup_xfail "*-*-*" 
        on all tests (none, char, signed char, unsigned char, short, 
        unsigned short, int, unsigned int, long, unsigned long, float
        and double arguments).

        * testsuite/gdb.c++/virtfunc.exp
        (print pAa->f()): Remove setup_xfail "*-*-*".
        (print pDe->vg()): Remove setup_xfail "*-*-*".
        (print pADe->vg()): Remove setup_xfail "*-*-*".
        (print pDd->vg()): Remove setup_xfail "*-*-*".
        (print pEe->vvb()): Remove setup_xfail "*-*-*".
        (print pVb->vvb()): Remove setup_xfail "*-*-*".

-- 
Scott Bambrough - Software Engineer
REBEL.COM    http://www.rebel.com
NetWinder    http://www.netwinder.org

testsuite.patch


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]