Thejas Nair,Thank you

Actually there are other unit tests failed because of different order output. 
During parse the pig command, a HashMap variable "aliases" will be used in 
src-gen/org/apache/pig/impl/logicalLayer/parser/QueryParser.java. I think this 
unit test failure is also caused by HashMap problem. What is your opinion?
Here are two failure unit test examples:
TestLogToPhyCompiler:Query: split (load 'a') into x if $0 < '7', y if $0 > '7';
Testcase: testSplit took 0.198 sec
        FAILED
IBM JDK:
x: Filter[tuple] - Test-Plan-Builder-240
|   |
|   Less Than[boolean] - Test-Plan-Builder-243
|   |
|   |---Project[bytearray][0] - Test-Plan-Builder-241
|   |
|   |---Constant(7) - Test-Plan-Builder-242
|
|---Split - Test-Plan-Builder-239
    |
    |---229: Load()

y: Filter[tuple] - Test-Plan-Builder-244
|   |
|   Greater Than[boolean] - Test-Plan-Builder-247
|   |
|   |---Project[bytearray][0] - Test-Plan-Builder-245
|   |
|   |---Constant(7) - Test-Plan-Builder-246
|
|---Split - Test-Plan-Builder-239
    |
    |---229: Load()
SUN JDK:
y: Filter[tuple] - Test-Plan-Builder-240
|   |
|   Greater Than[boolean] - Test-Plan-Builder-243
|   |
|   |---Project[bytearray][0] - Test-Plan-Builder-241
|   |
|   |---Constant(7) - Test-Plan-Builder-242
|
|---Split - Test-Plan-Builder-239
    |
    |---229: Load()

x: Filter[tuple] - Test-Plan-Builder-244
|   |
|   Less Than[boolean] - Test-Plan-Builder-247
|   |
|   |---Project[bytearray][0] - Test-Plan-Builder-245
|   |
|   |---Constant(7) - Test-Plan-Builder-246
|
|---Split - Test-Plan-Builder-239
    |
    |---229: Load()
TestMRCompiler(IBM JDK):
Testcase: testSortUDF1 took 0.02 sec
        FAILED
null expected:<...---MapReduce(20,SUM,[COUNT,TestMRCompiler$WeirdComparator]) - 
-18:
        |  ...> but 
was:<...---MapReduce(20,SUM,[TestMRCompiler$WeirdComparator,COUNT]) - -18:
        |  ...>
junit.framework.ComparisonFailure: null 
expected:<...---MapReduce(20,SUM,[COUNT,TestMRCompiler$WeirdComparator]) - -18:
        |  ...> but 
was:<...---MapReduce(20,SUM,[TestMRCompiler$WeirdComparator,COUNT]) - -18:
        |  ...>
        at org.apache.pig.test.TestMRCompiler.run(TestMRCompiler.java:1056)
        at 
org.apache.pig.test.TestMRCompiler.testSortUDF1(TestMRCompiler.java:790)





At 2011-08-18 01:17:02,"Thejas Nair" <[email protected]> wrote:
>Since HashMap does not guarantee ordering, this test is not guaranteed 
>to pass, ie the test is faulty and it needs to be fixed. The result from 
>IBM JDK is also correct.
>An easy fix for the test case would be to test for both sequences of 
>hash-map.
>Can you please open a jira ?
>
>-Thejas
>
>
>
>On 8/16/11 7:56 PM, lulynn_2008 wrote:
>>   Hello,
>> I runTestDataModel test case with IBM JDK, and got the following error:
>> Testcase: testTupleToString took 0.002 sec
>>          FAILED
>> toString expected:<...ad a little 
>> lamb)},[[hello#world,goodbye#all]],42,5000000000,3.14...>  but was:<...ad a 
>> little lamb)},[[goodbye#all,hello#world]],42,5000000000,3.14...>
>> junit.framework.ComparisonFailure: toString expected:<...ad a little 
>> lamb)},[[hello#world,goodbye#all]],42,5000000000,3.14...>  but was:<...ad a 
>> little lamb)},[[goodbye#all,hello#world]],42,5000000000,3.14...>
>>          at 
>> org.apache.pig.test.TestDataModel.testTupleToString(TestDataModel.java:269)
>> This is because IBM HashMap.toString() output different with SUN 
>> HashMap.toString(). My question is:
>> Should the output must be the one expected?
>> Are the output expected based on SUN JDK?
>> Does the failed test case mean pig-0.8.1 can not work with IBM JDk?
>> Thank you.
>>
>>
>>
>

Reply via email to