Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andreas Arnez <arnez@linux.vnet.ibm.com>
To: Pedro Alves <palves@redhat.com>
Cc: gdb-patches@sourceware.org, Ulrich Weigand <uweigand@de.ibm.com>,
	       Yao Qi <qiyaoltc@gmail.com>
Subject: Re: [PING][PATCH] gnu_vector.exp: Avoid some more known FAILs
Date: Thu, 13 Aug 2015 15:49:00 -0000	[thread overview]
Message-ID: <87r3n76vf6.fsf@br87z6lw.de.ibm.com> (raw)
In-Reply-To: <55CB2870.5050903@redhat.com> (Pedro Alves's message of "Wed, 12	Aug 2015 12:05:20 +0100")

On Wed, Aug 12 2015, Pedro Alves wrote:

> On 08/11/2015 06:27 PM, Andreas Arnez wrote:
>> +gdb_test_multiple "return (int4) \{4, 2, 7, 6\}" $test {
>> +    -re "#0 .* main .*$gdb_prompt $" {
>> +	if { $ok } {
>> +	    pass $test
>> +	    gdb_test "continue" "4 2 7 6\r\n.*" "verify vector return value"
>> +	}
>> +    }
>> +    -re "The location .* is unknown.\r\n.* return value .* will be ignored.\r\n" {
>> +	kfail "gdb/8549" $test
>> +	set ok 0
>> +	exp_continue
>> +    }
>> +    -re "Make add_some_intvecs return now. .y or n. $" {
>> +	send_gdb "y\n"
>> +	exp_continue
>> +    }
>> +}
>
> If this fails without matching the first pattern above, then we can
> end up with a duplicate test message (kfail + fail).

That's true.  Thanks for pointing out.

> Maybe do something like this instead:
>
> set test "set vector return value"
> set should_kfail 0
> set finished 0
> gdb_test_multiple "return (int4) \{4, 2, 7, 6\}" $test {
>     -re "#0 .* main .*$gdb_prompt $" {
>         set finished 1
>     }
>     -re "The location .* is unknown.\r\n.* return value .* will be ignored.\r\n" {
> 	set should_kfail 1
> 	exp_continue
>     }
>     -re "Make add_some_intvecs return now. .y or n. $" {
> 	send_gdb "y\n"
> 	exp_continue
>     }
> }
> if { $finished } {
>     if { $should_kfail } {
>         kfail "gdb/8549" $test
>     } else {
> 	pass $test
>         gdb_test "continue" "4 2 7 6\r\n.*" "verify vector return value"
>     }
> }

Right, that would be an option.  After thinking about this a bit I
slightly prefer to go even one step further, like in the approach below.
In my view, it more clearly separates the steps and is more easily
extensible at the end.  But maybe I've been thinking about this too much
already ;-)

OK with this change?


set test "return from vector-valued function"
set should_kfail 0
gdb_test_multiple "return (int4) \{4, 2, 7, 6\}" $test {
    -re "#0 .* main .*$gdb_prompt $" {
	pass $test
    }
    -re "The location .* is unknown.\r\n.* return value .* will be ignored.\r\n" {
	set should_kfail 1
	exp_continue
    }
    -re "Make add_some_intvecs return now. .y or n. $" {
	send_gdb "y\n"
	exp_continue
    }
}
set test "verify vector return value"
gdb_test_multiple "continue" $test {
    -re "4 2 7 6\r\n.*$gdb_prompt $" {
	pass $test
    }
    -re "10 20 48 72\r\n.*$gdb_prompt $" {
	if { $should_kfail } {
	    kfail "gdb/8549" $test
	} else {
	    fail $test
	}
    }
}


  reply	other threads:[~2015-08-13 15:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11 17:27 Andreas Arnez
2015-08-12 11:05 ` Pedro Alves
2015-08-13 15:49   ` Andreas Arnez [this message]
2015-08-13 15:59     ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r3n76vf6.fsf@br87z6lw.de.ibm.com \
    --to=arnez@linux.vnet.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    --cc=qiyaoltc@gmail.com \
    --cc=uweigand@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox