JRuby

Many new Array#pack failures in updated RubySpecs

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: JRuby 1.2
  • Component/s: RubySpec
  • Labels:
    None
  • Number of attachments :
    2

Description

There are many new failures in the updated RubySpecs as of today. I will add the list in a comment (since I want to tag them with this bug number first).

  1. pack.patch
    10/Jan/09 10:23 AM
    19 kB
    Joseph LaFata
  2. pack2.patch
    10/Jan/09 11:29 AM
    19 kB
    Joseph LaFata

Activity

Hide
Charles Oliver Nutter added a comment -

Here's the full list of new tags added; I have not included the traces, since the list is very long.

fails(JRUBY-3274):Array#pack returns a tainted string when a pack argument is tainted
fails(JRUBY-3274):Array#pack with format 'H' fills the rest bytes with 0 if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'H' fills low-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'H' consumes only one array item per a format
fails(JRUBY-3274):Array#pack with format 'h' fills the rest bytes with 0 if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'h' fills high-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'h' consumes only one array item per a format
fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'q' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'q' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'Q' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'Q' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'l!' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'l!' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'l!' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'l!' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'l!' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'l!' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'l_' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'l_' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'l_' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'l_' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'l_' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'l_' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'L!' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'L!' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'L!' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'L!' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'L!' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'L!' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'L_' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'L_' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'L_' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'L_' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'L_' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'L_' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'f' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'f' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'f' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'd' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'd' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'd' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'e' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'e' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'e' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'E' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'E' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'E' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'g' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'g' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'g' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'G' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'G' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'G' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'M' ignores star parameter
fails(JRUBY-3274):Array#pack with format 'm' ignores star parameter
fails(JRUBY-3274):Array#pack with format 'p' consumes a String
fails(JRUBY-3274):Array#pack with format 'p' tries to convert the pack argument to a String using #to_str
fails(JRUBY-3274):Array#pack with format 'p' checks whether the pack argument responds to #to_str
fails(JRUBY-3274):Array#pack with format 'p' raises a TypeError if corresponding array item is not String
fails(JRUBY-3274):Array#pack with format 'p' raises an ArgumentError if count is greater than array elements left
fails(JRUBY-3274):Array#pack with format 'P' consumes a String
fails(JRUBY-3274):Array#pack with format 'P' returns null pointer when passed nil
fails(JRUBY-3274):Array#pack with format 'P' raises a TypeError if corresponding array item is not String
fails(JRUBY-3274):Array#pack with format 'P' raises an ArgumentError if count is greater than the corresponding string in array
Show
Charles Oliver Nutter added a comment - Here's the full list of new tags added; I have not included the traces, since the list is very long.
fails(JRUBY-3274):Array#pack returns a tainted string when a pack argument is tainted
fails(JRUBY-3274):Array#pack with format 'H' fills the rest bytes with 0 if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'H' fills low-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'H' consumes only one array item per a format
fails(JRUBY-3274):Array#pack with format 'h' fills the rest bytes with 0 if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'h' fills high-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length
fails(JRUBY-3274):Array#pack with format 'h' consumes only one array item per a format
fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'q' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'q' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'Q' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'Q' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is >= 2**32
fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is < -2**32
fails(JRUBY-3274):Array#pack with format 'l!' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'l!' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'l!' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'l!' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'l!' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'l!' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'l_' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'l_' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'l_' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'l_' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'l_' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'l_' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'L!' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'L!' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'L!' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'L!' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'L!' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'L!' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'L_' returns a string containing 8 bytes for an integer
fails(JRUBY-3274):Array#pack with format 'L_' regards negative values as 2's complement in order to converts it to positive
fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is >= 2**64
fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is <= -2**64
fails(JRUBY-3274):Array#pack with format 'L_' tries to convert the pack argument to an Integer using #to_int
fails(JRUBY-3274):Array#pack with format 'L_' checks whether the pack argument responds to #to_int
fails(JRUBY-3274):Array#pack with format 'L_' processes count number of array elements if count given
fails(JRUBY-3274):Array#pack with format 'L_' with star parameter processes all remaining array items
fails(JRUBY-3274):Array#pack with format 'f' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'f' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'f' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'd' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'd' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'd' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'e' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'e' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'e' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'E' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'E' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'E' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'g' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'g' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'g' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'G' calls #to_f to convert a String into a Float
fails(JRUBY-3274):Array#pack with format 'G' raises a TypeError if corresponding array item is not Float
fails(JRUBY-3274):Array#pack with format 'G' accepts a NaN
fails(JRUBY-3274):Array#pack with format 'M' ignores star parameter
fails(JRUBY-3274):Array#pack with format 'm' ignores star parameter
fails(JRUBY-3274):Array#pack with format 'p' consumes a String
fails(JRUBY-3274):Array#pack with format 'p' tries to convert the pack argument to a String using #to_str
fails(JRUBY-3274):Array#pack with format 'p' checks whether the pack argument responds to #to_str
fails(JRUBY-3274):Array#pack with format 'p' raises a TypeError if corresponding array item is not String
fails(JRUBY-3274):Array#pack with format 'p' raises an ArgumentError if count is greater than array elements left
fails(JRUBY-3274):Array#pack with format 'P' consumes a String
fails(JRUBY-3274):Array#pack with format 'P' returns null pointer when passed nil
fails(JRUBY-3274):Array#pack with format 'P' raises a TypeError if corresponding array item is not String
fails(JRUBY-3274):Array#pack with format 'P' raises an ArgumentError if count is greater than the corresponding string in array
Hide
Joseph LaFata added a comment -

updated the test to correspond with the spec. This patch doesn't fix all the specs yet. I submitted a patch to rubyspec, so when that gets accepted, it will be 100%.

This patch also fixes JRUBY-2826 and JRUBY-3116.

enjoy

Show
Joseph LaFata added a comment - updated the test to correspond with the spec. This patch doesn't fix all the specs yet. I submitted a patch to rubyspec, so when that gets accepted, it will be 100%. This patch also fixes JRUBY-2826 and JRUBY-3116. enjoy
Hide
Joseph LaFata added a comment -

uploading a patch created from svn diff

Show
Joseph LaFata added a comment - uploading a patch created from svn diff
Hide
Charles Oliver Nutter added a comment -

I committed the patch in r8690, but we'll leave this open until the specs have been updated. I'll look into that now.

Show
Charles Oliver Nutter added a comment - I committed the patch in r8690, but we'll leave this open until the specs have been updated. I'll look into that now.
Hide
Charles Oliver Nutter added a comment -

Specs have been updated since the patch was applied, and all pack failures are untagged. Thanks again!

Show
Charles Oliver Nutter added a comment - Specs have been updated since the patch was applied, and all pack failures are untagged. Thanks again!

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: