[KinoSearch] 64-bit linux errors with t/core/032-string_helper.t
Peter Karman
peter at peknet.com
Mon Jan 18 20:34:46 PST 2010
Marvin Humphrey wrote on 1/18/10 5:42 PM:
> On Mon, Jan 18, 2010 at 01:45:19PM -0600, Peter Karman wrote:
>> On 64-bit Centos 5 Linux with Perl 5.8.9 I get several failures for
>> t/core/032-string_helper.t.
>>
>> The issue seems to be related to the u8_t size of the i and max vars. It's
>> as if they are being evaluated as signed rather than unsigned. However,
>> even if I hardcode 'unsigned char' instead of the Charmonized 'u8_t' I
>> still get the same error (below).
>>
>> Changing to an int fixes it. But it doesn't make any sense to me why an
>> unsigned char wouldn't work.
>
> I'll bet that what's actually going wrong is the promotion of the arguments
> from "unsigned char" to "long" as they are being passed to ASSERT_INT_EQ.
>
> To verify, try changing one of the tests from...
>
> ASSERT_INT_EQ(batch, StrHelp_UTF8_SKIP[i], 1,
> "UTF8_SKIP ascii %d", (int)i);
>
> ...to:
>
> ASSERT_TRUE(batch, StrHelp_UTF8_SKIP[i] == 1,
> "UTF8_SKIP ascii %d", (int)i);
>
alas, that didn't change the output.
--
Peter Karman . http://peknet.com/ . peter at peknet.com
More information about the kinosearch
mailing list