On 7/15/11, Lawrence Crowl <cr...@google.com> wrote:
> On 7/15/11, Gabriel Charette <gch...@google.com> wrote:
>> This patch adds an expected checksum for the tests expecting an asm diff.
>>
>> This way if we were expecting an asm diff, still get one, but a different
>> one, we know (before this patch we would ignore this, generating an XFAIL
>> as
>> usual, as the status of "having an asm diff" itself hadn't changed).
>>
>> I had to change from using the TCL grep to the bash grep (through an exec
>> call) as I now need the actual output of the grep call, not only the
>> return
>> value (it also turns out the return value for TCL grep and bash grep are
>> different; hence the change in the if statements on the adiff variable)
>>
>> Gab
>>
>> 2011-07-15  Gabriel Charette  <gch...@google.com>
>>
>>      * g++.dg/pph/c1builtin-integral.cc: Add expected diff checksum.
>>      * g++.dg/pph/c1eabi1.cc: Add expected diff checksum.
>>      * g++.dg/pph/p4eabi1.cc: Add expected diff checksum.
>>      * lib/dg-pph.exp (dg-pph-pos): Expect checksums for pph asm xdiff.
>>
>> diff --git a/gcc/testsuite/g++.dg/pph/c1builtin-integral.cc
>> b/gcc/testsuite/g++.dg/pph/c1builtin-integral.cc
>> index c2fceec..6887b11 100644
>> --- a/gcc/testsuite/g++.dg/pph/c1builtin-integral.cc
>> +++ b/gcc/testsuite/g++.dg/pph/c1builtin-integral.cc
>> @@ -1,2 +1,2 @@
>> -// pph asm xdiff
>> +// pph asm xdiff 52758
>>  #include "c0builtin-integral.h"
>> diff --git a/gcc/testsuite/g++.dg/pph/c1eabi1.cc
>> b/gcc/testsuite/g++.dg/pph/c1eabi1.cc
>> index b127f98..3321870 100644
>> --- a/gcc/testsuite/g++.dg/pph/c1eabi1.cc
>> +++ b/gcc/testsuite/g++.dg/pph/c1eabi1.cc
>> @@ -1,5 +1,5 @@
>>  // { dg-options "-w -fpermissive" }
>> -// pph asm xdiff
>> +// pph asm xdiff 36206
>>
>>  #include "c0eabi1.h"
>>
>> diff --git a/gcc/testsuite/g++.dg/pph/p4eabi1.cc
>> b/gcc/testsuite/g++.dg/pph/p4eabi1.cc
>> index 4247f49..2f0715f 100644
>> --- a/gcc/testsuite/g++.dg/pph/p4eabi1.cc
>> +++ b/gcc/testsuite/g++.dg/pph/p4eabi1.cc
>> @@ -1,5 +1,5 @@
>>  // { dg-options "-w -fpermissive" }
>> -// pph asm xdiff
>> +// pph asm xdiff 15662
>>
>>  #include "p4eabi1.h"
>>
>> diff --git a/gcc/testsuite/lib/dg-pph.exp b/gcc/testsuite/lib/dg-pph.exp
>> index b706f27..1d7deed 100644
>> --- a/gcc/testsuite/lib/dg-pph.exp
>> +++ b/gcc/testsuite/lib/dg-pph.exp
>> @@ -128,12 +128,11 @@ proc dg-pph-pos { subdir test options mapflag suffix
>> }
>> {
>>      verbose -log ""
>>
>>      # Compare the two assembly files.  They should be identical.
>> -    set adiff [diff "$bname.s-pph" "$bname.s+pph"]
>> +    set adiff [catch {exec diff "$bname.s-pph" "$bname.s+pph"}
>> diff_result]
>>      # The sources mark when they expect the comparison to differ.
>> -    set xdiff [llength [grep $test "pph asm xdiff"]]
>> +    set xdiff_entry [grep $test "pph asm xdiff( )*\[0-9\]*"]
>> +    set xdiff [llength $xdiff_entry]
>>      if { $adiff == 0 } {
>> -    fail "$nshort $options comparison failure"
>> -    } elseif { $adiff == 1 } {
>>      if { $xdiff } {
>>          xpass "$nshort $options (assembly comparison)"
>>      } else {
>> @@ -141,11 +140,20 @@ proc dg-pph-pos { subdir test options mapflag suffix
>> }
>> {
>>      }
>>      file_on_host delete "$bname.s-pph"
>>      file_on_host delete "$bname.s+pph"
>> -    } else {
>> +    } elseif { $adiff == 1 } {
>> +        verbose -log "Diff obtained:\n$diff_result"
>>      if { $xdiff } {
>> -        xfail "$nshort $options (assembly comparison)"
>> +        set expectedSum [exec tr -d \} << [exec cut -f 4 -d\  <<
>> $xdiff_entry]]
>> +        set actualSum [exec cut -f 1 -d\  << [exec sum << $diff_result]]
>> +        if { $expectedSum == $actualSum } {
>> +            xfail "$nshort $options (assembly comparison)"
>> +        } else {
>> +            fail "$nshort $options (assembly comparison, sums differ:
>> expected
>> $expectedSum, actual $actualSum)"
>> +        }
>>      } else {
>>          fail "$nshort $options (assembly comparison)"
>>      }
>> +    } else {
>> +    fail "$nshort $options comparison failure"
>>      }
>>  }
>>
>> --
>> This patch is available for review at
>> http://codereview.appspot.com/4744043
>
> Needs shortening of message.  Otherwise, LGTM.

We have crossed the streams.  LGTM.

-- 
Lawrence Crowl

Reply via email to