vtable_massacre branch needs more eyes

Christoph Otto (Excell Data Corporation) a-chotto at microsoft.com
Fri Feb 12 18:31:22 UTC 2010


Same here at r43918 on Ubuntu 9.04 x64.

-----Original Message-----
From: parrot-dev-bounces at lists.parrot.org [mailto:parrot-dev-bounces at lists.parrot.org] On Behalf Of Jonathan Leto
Sent: Friday, February 12, 2010 09:57
To: Andrew Whitworth
Cc: parrot-dev at lists.parrot.org
Subject: Re: vtable_massacre branch needs more eyes

Howdy,

I got some failures in t/pmc/bigint.t on darwin-x86 :

Test Summary Report
-------------------
t/pmc/bigint.t                            (Wstat: 0 Tests: 34 Failed: 0)
  Parse errors: Bad plan.  You planned 45 tests but ran 34.
Files=339, Tests=11996, 130 wallclock secs ( 2.73 usr  1.55 sys +
45.17 cusr 50.59 csys = 100.04 CPU)
Result: FAIL

TAP Archive created at
/Users/leto/svn/parrot-vtable_massacre/parrot_test_run.tar.gz
Test report successfully sent to Smolder at
http://smolder.plusthree.com/app/projects/report_details/32166

Did you test with a Parrot that has GMP enabled? It seems to be running the wrong number of tests or dying prematurely.

(kadath)(~/svn/parrot-vtable_massacre)$ prove -v t/pmc/bigint.t t/pmc/bigint.t ..
1..45
This Parrot uses GMP
Suitable GMP version [4.3.1] available
ok 1 - set and get combinations
ok 2 - add(bigint,bigint)
ok 3 - add(bigint,nativeint)
ok 4 - sub(bigint,bigint)
ok 5 - sub(bigint,integer)
ok 6 - mul(bigint,bigint)
ok 7 - mul(bigint,nativeint)
ok 8 - div(bigint,bigint)
ok 9 - div(bigint,nativeint)
ok 10 - div(bigint,integer)
ok 11 - div(bigint,bigint 0) throws "Divide by zero" exception ok 12 - mod(bigint,bigint 0) throws "Divide by zero" exception ok 13 - div(bigint,integer 0) throws "Divide by zero" exception ok 14 - mod(bigint,integer 0) throws "Divide by zero" exception ok 15 - negation ok 16 - abs negates negative number ok 17 - ... and original unchanged with 2-arg form ok 18 - ... does not change to positive number ok 19 - ... and in-place works too Using 32-bit Integers [-2147483648...2147483647] ok 20 - integer addition converts MaxInt+1 to BigInt ok 21 - integer addition converts MinInt+(-1) to BigInt ok 22 - integer subtraction converts MaxInt-(-1) to BigInt not ok 23 # TODO integer negation of MinInt converts MaxInt+1 to BigInt not ok 24 # TODO integer absolute-value of MinInt converts MaxInt+1 to BigInt ok 25 - Interface does scalar ok 26 - ... and does not do bogus ok 27 - truth and falsehood ok 28 - Computed 1000 digits of PI (using coroutine) ok 29 - BUG #34949 gt ok 30 - BUG #34949 ge ok 31 - BUG #34949 ne ok 32 - BUG #34949 eq ok 33 - BUG #34949 le ok 34 - BUG #34949 lt Failed 11/45 subtests

Test Summary Report
-------------------
t/pmc/bigint.t (Wstat: 0 Tests: 34 Failed: 0)
  Parse errors: Bad plan.  You planned 45 tests but ran 34.
Files=1, Tests=34,  0 wallclock secs ( 0.03 usr  0.00 sys +  0.04 cusr
 0.01 csys =  0.08 CPU)
Result: FAIL


On Fri, Feb 12, 2010 at 4:41 AM, Andrew Whitworth <wknight8111 at gmail.com> wrote:
> I've done more testing myself and I haven't heard any reports of 
> failures since this first email went out. I'm going to merge this 
> branch later today unless any last minute concerns are raised.
>
> --Andrew Whitworth
>
>
>
> On Wed, Feb 10, 2010 at 11:56 AM, Andrew Whitworth 
> <wknight8111 at gmail.com> wrote:
>> I've completed much of the work in the vtable_massacre branch this 
>> morning, with help from cotto++ and darbelo++, among others. This 
>> branch rips out the following vtables:
>>
>> PMC* get_bignum()
>> void set_bignum_int(INTVAL value)
>> void set_bignum_num(FLOATVAL value)
>> void set_bignum_str(STRING* value)
>> PMC* pow(PMC* value, PMC* dest)
>> PMC* pow_int(INTVAL value, PMC* dest)
>> PMC* pow_float(FLOATVAL value, PMC* dest) void i_pow(PMC* value) 
>> :write void i_pow_int(INTVAL value) :write void i_pow_float(FLOATVAL 
>> value) :write
>> PMC* bitwise_or(PMC* value, PMC* dest)
>> PMC* bitwise_or_int(INTVAL value, PMC* dest) void i_bitwise_or(PMC* 
>> value) :write void i_bitwise_or_int(INTVAL value) :write
>> PMC* bitwise_and(PMC* value, PMC* dest)
>> PMC* bitwise_and_int(INTVAL value, PMC* dest) void i_bitwise_and(PMC* 
>> value) :write void i_bitwise_and_int(INTVAL value) :write
>> PMC* bitwise_xor(PMC* value, PMC* dest)
>> PMC* bitwise_xor_int(INTVAL value, PMC* dest) void i_bitwise_xor(PMC* 
>> value) :write void i_bitwise_xor_int(INTVAL value) :write
>> PMC* bitwise_ors(PMC* value, PMC* dest)
>> PMC* bitwise_ors_str(STRING* value, PMC* dest) void 
>> i_bitwise_ors(PMC* value) :write void i_bitwise_ors_str(STRING* 
>> value) :write
>> PMC* bitwise_ands(PMC* value, PMC* dest)
>> PMC* bitwise_ands_str(STRING* value, PMC* dest) void 
>> i_bitwise_ands(PMC* value) :write void i_bitwise_ands_str(STRING* 
>> value) :write
>> PMC* bitwise_xors(PMC* value, PMC* dest)
>> PMC* bitwise_xors_str(STRING* value, PMC* dest) void 
>> i_bitwise_xors(PMC* value) :write void i_bitwise_xors_str(STRING* 
>> value) :write
>> PMC* bitwise_not(PMC* dest)
>> void i_bitwise_not() :write
>> PMC* bitwise_nots(PMC* dest)
>> void i_bitwise_nots() :write
>> PMC* bitwise_shl(PMC* value, PMC* dest)
>> PMC* bitwise_shl_int(INTVAL value, PMC* dest) void i_bitwise_shl(PMC* 
>> value) :write void i_bitwise_shl_int(INTVAL value) :write
>> PMC* bitwise_shr(PMC* value, PMC* dest)
>> PMC* bitwise_shr_int(INTVAL value, PMC* dest) void i_bitwise_shr(PMC* 
>> value) :write void i_bitwise_shr_int(INTVAL value) :write
>> PMC* bitwise_lsr(PMC* value, PMC* dest)
>> PMC* bitwise_lsr_int(INTVAL value, PMC* dest) void i_bitwise_lsr(PMC* 
>> value) :write void i_bitwise_lsr_int(INTVAL value) :write
>>
>> Also, we've modified the ops in src/ops/bit.ops and the pow ops in 
>> src/ops/math.ops to call the appropriate {get|set}_{integer|float} 
>> vtables to perform the same operations.
>>
>> I would like to get some more testing on various platforms and also 
>> for various projects and HLLs to make sure we aren't losing or 
>> breaking anything major. I would like to get this branch merged in 
>> before the weekend, the sooner the better.
>>
>> Thanks,
>>
>> --Andrew Whitworth
>>
> _______________________________________________
> http://lists.parrot.org/mailman/listinfo/parrot-dev
>



--
Jonathan "Duke" Leto
jonathan at leto.net
http://leto.net
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev



More information about the parrot-dev mailing list