Re: [PATCH 3/3] Remove HP-UX references fom testsuite

Pedro Alves
2015-12-21T17:07:30Z

On 12/21/2015 04:57 PM, Simon Marchi wrote:
> On 21 December 2015 at 07:48, Pedro Alves <palves@redhat.com> wrote:
>> I looked this one over too. A few minor comments below, but
>> otherwise looks good to me. Thanks for doing this!
>>
>> On 12/19/2015 11:30 PM, Simon Marchi wrote:
>>
>>> * gdb.multi/bkpt-multi-exec.ex: Likewise.p
>>
>> Typo: "ex: Likewise.p" -> "exp: Likewise."
>
> Fixed.
>
>>> +gdb_test_multiple "catch vfork" "$name" {
>>> + -re "Catchpoint \[0-9\]* .vfork..*$gdb_prompt $" {
>>> + pass $name
>>> + }
>>> + -re "Catch of vfork not yet implemented.*$gdb_prompt $" {
>>
>> This case can be removed. GDB doesn't ever output this.
>
> Actually, is it true for all "Catch of * not yet implemented" cases?
>

Yes. I did a google search now for "Catch of fork not yet implemented"
and found this:

https://www.sourceware.org/ml/gdb-patches/2004-01/msg00679.html

> testsuite/gdb.base/break.exp
> 482: -re "Catch of fork not yet implemented.*$gdb_prompt $" {
> 493: -re "Catch of vfork not yet implemented.*$gdb_prompt $" {
> 503: -re "Catch of exec not yet implemented.*$gdb_prompt $" {
>
> testsuite/gdb.base/sepdebug.exp
> 291: -re "Catch of fork not yet implemented.*$gdb_prompt $" {
> 302: -re "Catch of vfork events not supported on HP-UX 10.20.*" {
> 308: -re "Catch of vfork not yet implemented.*$gdb_prompt $" {
> 318: -re "Catch of exec not yet implemented.*$gdb_prompt $" {
>
> Oh damn, that just found another HP-UX reference. I'll remove the
> "Catch of vfork events not supported on HP-UX 10.20.*" as part of this
> patch.
>
> Grepping for "Catch of" in the source doesn't return anything, so I
> guess they could all be removed from the testsuite. If that is right,
> I think I would do it in a separate patch.

That'd be great!

>
> Another thing, the gdb.base/environ.exp is guarded by a
>
> 23 if ![istarget "hppa*-*-hpux*"] then {
> 24 return
> 25 }
>
> but it doesn't test hp-ux specific things.

Right, that's old PR8595 - environ.exp could run on more platforms:
https://sourceware.org/bugzilla/show_bug.cgi?id=8595

> It overlaps
> gdb.base/testenv.exp in what it tests, but it does test a few more
> things (like having an equal sign in the value when setting an env
> var). Removing the guard, it seems like the test runs fine on Linux
> native. It does not run fine with
> native-gdbserver/native-extended-gdbserver, however. So I could
> replace it with the appropriate "if not remote" check.
> gdb.base/testenv.exp uses "if { [is_remote target] }", but it's not
> right, because it doesn't catch when running with
> native-extended-gdbserver.

Right. I think most is_remote checks are wrong. This is really
a protocol limitation, a bit orthogonal to protocol used or whether
the host and target machines are the same. Probably the right
check is:

[target_info gdb_protocol] == "remote" || [target_info gdb_protocol] == "extended-remote"

Better yet, add a new supports_target_env or some such to lib/gdb.exp
that encapsulates this.

>
> So for now I think I'll just leave it as-is, and we can merge the two
> tests and clean this up after.
>

That's fine. It waited over 12 years already, it can wait a
little while longer. :-)

Thanks,
Pedro Alves