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: