Ticket #1974 (closed bug: fixed)
Fixing GMP check on 32-bit system exposes test failure
|Reported by:||rgrjr||Owned by:|
Description (last modified by dukeleto) (diff)
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.