yes, even in this case, both outputs look correct.
-Thejas



On 8/18/11 6:05 AM, lulynn_2008 wrote:
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