Ticket #1974 (new bug) — at Initial Version

Opened 11 years ago

Last modified 11 years ago

Fixing GMP check on 32-bit system exposes test failure

Reported by: rgrjr Owned by:
Priority: normal Milestone:
Component: none Version: trunk
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

I noticed that t/dynoplibs/trans.t was skipping a bunch of tests that require GMP on 32-bit systems, even though Parrot on my system is built with GMP. The problem seems to be that the "skip" test was expecting the config information to be an integer when in fact it is a string. The attached patch fixes the test, but exposes another problem:

rogers@rgr> ./parrot t/dynoplibs/trans.t 1..111 ok 1 - sin(0.0) . . . ok 98 - integer_overflow_with_pow ok 99 - integer_overflow_with_pow ok 100 - integer_overflow_with_pow Integer value of String '2147483648' too big current instr.: 'parrot;Test;More;is' pc 186 (runtime/parrot/library/Test/More.pir:228) called from Sub 'integer_overflow_with_pow' pc 2045 (t/dynoplibs/trans.t:518) called from Sub 'main' pc 405 (t/dynoplibs/trans.t:63) rogers@rgr>

But it's not clear what is really expected here. Even if the string could be converted on a 32-bit system, the integer to which it is compared will be wrong.

Change History

Changed 11 years ago by rgrjr

Patch to correct "gmp" config test

Note: See TracTickets for help on using tickets.