Ticket #1974 (closed bug: fixed)

Opened 4 years ago

Last modified 4 years ago

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

fix-gmp-test.patch Download (0.6 KB) - added by rgrjr 4 years ago.
Patch to correct "gmp" config test

Change History

Changed 4 years ago by rgrjr

Patch to correct "gmp" config test

Changed 4 years ago by dukeleto

  • version changed from trunk to master
  • component changed from none to testing
  • description modified (diff)

Changed 4 years ago by dukeleto

  • status changed from new to closed
  • resolution set to fixed
  • patch set to applied

Patch applied with some tweaks in 3c1e33b , thanks!

Note: See TracTickets for help on using tickets.