Help with solaris testing

Pedro Alves
Tue Jul 29 15:38:00 GMT 2008

Hi guys!

(Mark, Joel, CCing you, as you're the usual suspects when we
 talk about either BSD or (!linux && !windows) testing :-) )

I wonder if you could give me a little help with this.

I've setup a bunch of VMWare VMs (x86) to be able to test changes I'm
making to BSD targets.  I've got FreeBSD 6,7, OpenBSD 4.3, and
OpenSolaris 10 all set up.  I set up an NFS mount on the host,
so all VMs share the same source tree.  All cool, and great
for easy testing.  FreeBSD and OpenBSD are OK, but ...

... solaris is giving be the troubles.

When running the testsuite under Solaris, I get a bunch of failures
and they appear to be related to something translating "\r" -> "\r\n".
The eols end up being "\r\r\n" instead of "\r\n", and a lot of test
patterns don't expect that.

How do people test under solaris?  Is this perhaps a well known
issue with an easy well known fix?

Same results either sshing to the VM, or testing on a local
terminal inside the VM.


 expect: does "break main\r\r\nBreakpoint 1: file ../../../src/gdb/testsuite/gdb.base/call-ar-st.c, line 1195.\r\r\n(gdb) " (spawn_id exp10) match regular expression "Breakpoint 
[0-9]* at .*: file .*, line [0-9]+.\r\n\(gdb\) $"? no
 "Breakpoint [0-9]*: file .*, line [0-9]+.\r\n\(gdb\)
 "Breakpoint [0-9]* at .*\(gdb\) $"? no
 "Breakpoint [0-9]* \(.*\) pending.*\(gdb\) $"? no
 "Make breakpoint pending.*y or \[n\]. $"? no
 "\(gdb\) $"? yes
 expect: set expect_out(0,string) "(gdb) "
 expect: set expect_out(spawn_id) "exp10"
 expect: set expect_out(buffer) "break main\r\r\nBreakpoint 1: file ../../../src/gdb/testsuite/gdb.base/call-ar-st.c, line 1195.\r\r\n(gdb) "
 FAIL: gdb.base/call-ar-st.exp: setting breakpoint at main

This is a default setup of OpenSolaris 10, with the only extra
things being gcc, gmake, etc, to be able to build gdb.

I've tried a bunch of stty settings, but perhaps I missed
something.  Maybe dejagnu overrides the stty settings anyway,
I don't know.

Running gdb throught od -c shows that gdb is only outputting a single '\n':

 0000360   v   =   0   x   8   0   4   7   c   c   0   )       a   t
 0000400   .   .   /   .   .   /   s   r   c   /   g   d   b   /   g   d
 0000420   b   .   c   :   2   8  \n   2   8  \t           m   e   m   s

That was a bit of:
 Temporary breakpoint 1, main (argc=1, argv=0x8047cc0) at ../../src/gdb/gdb.c:28
 28        memset (&args, 0, sizeof args);

Any hints?

 pedro@opensolaris:~$ runtest --version
 WARNING: Couldn't find the global config file.
 Expect version is       5.42.1
 Tcl version is          8.4
 Framework version is    1.4.4

 pedro@opensolaris:~$ uname -a
 SunOS opensolaris 5.11 snv_86 i86pc i386 i86pc Solaris

Pedro Alves

More information about the Gdb mailing list