PIG-5238: Fix datetime related test issues after PIG-4748 (szita) git-svn-id: https://svn.apache.org/repos/asf/pig/trunk@1796140 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt index efa6ba4..2a3683d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt
@@ -101,6 +101,8 @@ BUG FIXES +PIG-5238: Fix datetime related test issues after PIG-4748 (szita) + PIG-5185: Job name show "DefaultJobName" when running a Python script (daijy) PIG-4748: DateTimeWritable forgets Chronology (szita)
diff --git a/test/org/apache/pig/test/TestDateTime.java b/test/org/apache/pig/test/TestDateTime.java index e3e0ee7..3e9c0a8 100644 --- a/test/org/apache/pig/test/TestDateTime.java +++ b/test/org/apache/pig/test/TestDateTime.java
@@ -159,11 +159,16 @@ */ @Test public void testDateTimeZoneOnCluster() throws Exception { + + String localDateTime = "2001-01-01T01:00:00.000"; + String localDateTimeDST = "2002-07-01T01:00:00.000"; + String inputFileName = "testDateTime-input.txt"; String[] inputData = new String[]{ "1\t1990-01-04T12:30:00.000+01:00", "2\t1990-01-04T11:30:00.000Z", - "3\t2001-01-01T01:00:00.000", - "4\t2017-02-02T15:19:00.000+01:00" + "3\t"+localDateTime, + "4\t"+localDateTimeDST, + "5\t2017-02-02T15:19:00.000+01:00" }; Util.createInputFile(cluster, inputFileName, inputData); @@ -175,14 +180,19 @@ Iterator<Tuple> it = pigServer.openIterator("C"); - //Should return last 3 rows from input - String sysTZOffset = DateTimeZone.forOffsetMillis(DateTime.now().getZone().getOffset(0L)).toString(); + //Should return last 4 rows from input + String tzOffsetForLocal = DateTimeZone.forOffsetMillis(DateTime.now().getZone().getOffset(new DateTime(localDateTime))).toString(); + String tzOffsetDSTForLocal = DateTimeZone.forOffsetMillis(DateTime.now().getZone().getOffset(new DateTime(localDateTimeDST))).toString(); + tzOffsetForLocal = tzOffsetForLocal.replaceAll("UTC","Z"); + tzOffsetDSTForLocal = tzOffsetDSTForLocal.replaceAll("UTC","Z"); + Util.checkQueryOutputsAfterSortRecursive( it, new String[]{ "(1990-01-04T11:30:00.000Z,2)", - "(2001-01-01T01:00:00.000"+sysTZOffset+",3)", - "(2017-02-02T15:19:00.000+01:00,4)" + "(2001-01-01T01:00:00.000"+tzOffsetForLocal+",3)", + "(2002-07-01T01:00:00.000"+tzOffsetDSTForLocal+",4)", + "(2017-02-02T15:19:00.000+01:00,5)" }, org.apache.pig.newplan.logical.Util.translateSchema(pigServer.dumpSchema("C"))); }
diff --git a/test/org/apache/pig/test/TestPackage.java b/test/org/apache/pig/test/TestPackage.java index 903be1e..d7d5412 100644 --- a/test/org/apache/pig/test/TestPackage.java +++ b/test/org/apache/pig/test/TestPackage.java
@@ -34,6 +34,7 @@ import java.util.Random; import org.apache.pig.backend.executionengine.ExecException; +import org.apache.pig.backend.hadoop.DateTimeWritable; import org.apache.pig.backend.hadoop.HDataType; import org.apache.pig.backend.hadoop.executionengine.physicalLayer.POStatus; import org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result; @@ -171,6 +172,7 @@ runTest(r.nextLong(), inner, DataType.LONG); break; case DataType.DATETIME: + DateTimeWritable.setupAvailableZoneIds(); runTest(new DateTime(r.nextLong()), inner, DataType.DATETIME); break; case DataType.MAP: