Ticket #1974 (closed bug: fixed)
Fixing GMP check on 32-bit system exposes test failure
| Reported by: | rgrjr | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | testing | Version: | master |
| Severity: | medium | Keywords: | |
| Cc: | Language: | ||
| Patch status: | applied | Platform: |
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.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

