You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ya...@apache.org on 2010/03/22 08:54:53 UTC

svn commit: r925988 [6/8] - in /hadoop/pig/trunk/contrib/zebra: ./ src/test/org/apache/hadoop/zebra/ src/test/org/apache/hadoop/zebra/mapred/ src/test/org/apache/hadoop/zebra/mapreduce/ src/test/org/apache/hadoop/zebra/pig/

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestBasicUnion.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestBasicUnion.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestBasicUnion.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestBasicUnion.java Mon Mar 22 07:54:51 2010
@@ -18,18 +18,16 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.Iterator;
 import java.util.List;
 
 import junit.framework.Assert;
-import junit.framework.TestCase;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.io.TableScanner;
@@ -42,9 +40,7 @@ import org.apache.pig.PigServer;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.test.MiniCluster;
-import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -55,13 +51,8 @@ import org.junit.Test;
  * app/debug configuration, when run this from inside the Eclipse.
  * 
  */
-public class TestBasicUnion {
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
-  private static Path pathWorking, pathTable1, pathTable2, pathTable3,
-      pathTable4, pathTable5;
-  private static Configuration conf;
+public class TestBasicUnion extends BaseTestCase {
+
   final static String STR_SCHEMA1 = "a:string,b,c:string,e,f";
   final static String STR_STORAGE1 = "[a];[c]";
   final static String STR_SCHEMA2 = "a:string,b,d:string,f,e";
@@ -73,32 +64,29 @@ public class TestBasicUnion {
   final static String STR_SCHEMA5 = "b,a:string";
   final static String STR_STORAGE5 = "[a,b]";
 
+  private static Path path1, path2, path3, path4, path5;
+
   @BeforeClass
-  public static void setUpOnce() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
-
-    conf = new Configuration();
-    FileSystem fs = cluster.getFileSystem();
-    pathWorking = fs.getWorkingDirectory();
+  public static void setUp() throws Exception {
+
+    init();
+
+    path1 = getTableFullPath("/TestBasicUnion1");
+    path2 = getTableFullPath("/TestBasicUnion2");
+    path3 = getTableFullPath("/TestBasicUnion3");
+    path4 = getTableFullPath("/TestBasicUnion4");
+    path5 = getTableFullPath("/TestBasicUnion5");
+    removeDir(path1);
+    removeDir(path2);
+    removeDir(path3);
+    removeDir(path4);
+    removeDir(path5);
 
     /*
      * create 1st basic table;
      */
-    pathTable1 = new Path(pathWorking, "1");
-    System.out.println("pathTable1 =" + pathTable1);
 
-    BasicTable.Writer writer = new BasicTable.Writer(pathTable1, STR_SCHEMA1,
+    BasicTable.Writer writer = new BasicTable.Writer(path1, STR_SCHEMA1,
         STR_STORAGE1, conf);
     Schema schema = writer.getSchema();
     Tuple tuple = TypesUtils.createTuple(schema);
@@ -117,7 +105,7 @@ public class TestBasicUnion {
           try {
             tuple.set(k, b + "_" + i + "" + k);
           } catch (ExecException e) {
-            e.printStackTrace();
+
           }
         }// k
         inserters[i].insert(new BytesWritable(("key1" + i).getBytes()), tuple);
@@ -127,15 +115,11 @@ public class TestBasicUnion {
       inserters[i].close();
     }
     writer.close();
-    
     /*
      * create 2nd basic table;
      */
-    pathTable2 = new Path(pathWorking, "2");
-    System.out.println("pathTable2 =" + pathTable2);
 
-    writer = new BasicTable.Writer(pathTable2, STR_SCHEMA2, STR_STORAGE2,
-        conf);
+    writer = new BasicTable.Writer(path2, STR_SCHEMA2, STR_STORAGE2, conf);
     schema = writer.getSchema();
     tuple = TypesUtils.createTuple(schema);
 
@@ -151,7 +135,7 @@ public class TestBasicUnion {
           try {
             tuple.set(k, b + "_" + i + "" + k);
           } catch (ExecException e) {
-            e.printStackTrace();
+
           }
         }
         inserters[i].insert(new BytesWritable(("key2" + i).getBytes()), tuple);
@@ -161,15 +145,11 @@ public class TestBasicUnion {
       inserters[i].close();
     }
     writer.close();
-    
     /*
      * create 3rd basic table;
      */
-    pathTable3 = new Path(pathWorking, "3");
-    System.out.println("pathTable3 =" + pathTable3);
 
-    writer = new BasicTable.Writer(pathTable3, STR_SCHEMA3, STR_STORAGE3,
-        conf);
+    writer = new BasicTable.Writer(path3, STR_SCHEMA3, STR_STORAGE3, conf);
     schema = writer.getSchema();
     tuple = TypesUtils.createTuple(schema);
 
@@ -185,7 +165,7 @@ public class TestBasicUnion {
           try {
             tuple.set(k, b + "_" + i + "" + k);
           } catch (ExecException e) {
-            e.printStackTrace();
+
           }
         }
         inserters[i].insert(new BytesWritable(("key3" + i).getBytes()), tuple);
@@ -194,16 +174,12 @@ public class TestBasicUnion {
     for (int i = 0; i < numsInserters; i++) {
       inserters[i].close();
     }
-    writer.close();
-    
+	writer.close();
     /*
      * create 4th basic table;
      */
-    pathTable4 = new Path(pathWorking, "4");
-    System.out.println("pathTable4 =" + pathTable4);
 
-    writer = new BasicTable.Writer(pathTable4, STR_SCHEMA4, STR_STORAGE4,
-         conf);
+    writer = new BasicTable.Writer(path4, STR_SCHEMA4, STR_STORAGE4, conf);
     schema = writer.getSchema();
     tuple = TypesUtils.createTuple(schema);
 
@@ -219,7 +195,7 @@ public class TestBasicUnion {
           try {
             tuple.set(k, b + "_" + i + "" + k);
           } catch (ExecException e) {
-            e.printStackTrace();
+
           }
         }
         inserters[i].insert(new BytesWritable(("key4" + i).getBytes()), tuple);
@@ -228,15 +204,12 @@ public class TestBasicUnion {
     for (int i = 0; i < numsInserters; i++) {
       inserters[i].close();
     }
-    writer.close();
+	writer.close();
     /*
      * create 5th basic table;
      */
-    pathTable5 = new Path(pathWorking, "5");
-    System.out.println("pathTable5 =" + pathTable5);
 
-    writer = new BasicTable.Writer(pathTable5, STR_SCHEMA5, STR_STORAGE5,
-        conf);
+    writer = new BasicTable.Writer(path5, STR_SCHEMA5, STR_STORAGE5, conf);
     schema = writer.getSchema();
     tuple = TypesUtils.createTuple(schema);
 
@@ -252,7 +225,7 @@ public class TestBasicUnion {
           try {
             tuple.set(k, b + "_" + i + "" + k);
           } catch (ExecException e) {
-            e.printStackTrace();
+
           }
         }
         inserters[i].insert(new BytesWritable(("key5" + i).getBytes()), tuple);
@@ -261,31 +234,23 @@ public class TestBasicUnion {
     for (int i = 0; i < numsInserters; i++) {
       inserters[i].close();
     }
-    writer.close();
+	writer.close();
   }
 
   @AfterClass
   public static void tearDownOnce() throws Exception {
     pigServer.shutdown();
+    BasicTable.drop(path1, conf);
+    BasicTable.drop(path2, conf);
+    BasicTable.drop(path3, conf);
+    BasicTable.drop(path4, conf);
+    BasicTable.drop(path5, conf);
   }
 
-  // all fields
+  @Test
   public void testReader1() throws ExecException, IOException {
-    /*
-     * remove hdfs prefix part like "hdfs://localhost.localdomain:42540" pig
-     * will fill that in.
-     */
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str2 = pathTable2.toString().substring(
-        pathTable2.toString().indexOf("/", 7), pathTable2.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str2
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('a, b, c, d');";
-    System.out.println(query);
-    // records = LOAD '/user/jing1234/1,/user/jing1234/2' USING
-    // org.apache.hadoop.zebra.pig.TableLoader('a, b, c, d');
 
-    pigServer.registerQuery(query);
+    pigServer.registerQuery(constructQuery(path1, path2, "'a, b, c, d'"));
     Iterator<Tuple> it = pigServer.openIterator("records");
 
     int i = 0;
@@ -303,8 +268,10 @@ public class TestBasicUnion {
         System.out.println("first table first part: " + cur.toString());
         Assert.assertEquals(i + "_00", cur.get(0));
         Assert.assertEquals(i + "_01", cur.get(1));
-        Assert.assertEquals(i + "_02", cur.get(2));
-        Assert.assertEquals(null, cur.get(3));
+        Assert.assertTrue(((cur.get(2) == null) || (cur.get(2)
+            .equals(i + "_02"))));
+        Assert.assertTrue(((cur.get(3) == null) || (cur.get(3)
+            .equals(i + "_02"))));
       }
       if (i >= 10) {
         k++;
@@ -313,8 +280,11 @@ public class TestBasicUnion {
         System.out.println("first table second part:  : " + cur.toString());
         Assert.assertEquals(k + "_10", cur.get(0));
         Assert.assertEquals(k + "_11", cur.get(1));
-        Assert.assertEquals(k + "_12", cur.get(2));
-        Assert.assertEquals(null, cur.get(3));
+        Assert.assertTrue(((cur.get(2) == null) || (cur.get(2)
+            .equals(k + "_12"))));
+        Assert.assertTrue(((cur.get(3) == null) || (cur.get(3)
+            .equals(k + "_12"))));
+
       }
 
       // second table
@@ -325,8 +295,10 @@ public class TestBasicUnion {
         System.out.println("second table first part: " + cur.toString());
         Assert.assertEquals(t + "_00", cur.get(0));
         Assert.assertEquals(t + "_01", cur.get(1));
-        Assert.assertEquals(null, cur.get(2));
-        Assert.assertEquals(t + "_02", cur.get(3));
+        Assert.assertTrue(((cur.get(2) == null) || (cur.get(2)
+            .equals(t + "_02"))));
+        Assert.assertTrue(((cur.get(3) == null) || (cur.get(3)
+            .equals(t + "_02"))));
       }
       if (t >= 10) {
         j++;
@@ -335,19 +307,22 @@ public class TestBasicUnion {
         System.out.println("second table first part: " + cur.toString());
         Assert.assertEquals(j + "_10", cur.get(0));
         Assert.assertEquals(j + "_11", cur.get(1));
-        Assert.assertEquals(null, cur.get(2));
-        Assert.assertEquals(j + "_12", cur.get(3));
+        Assert.assertTrue(((cur.get(2) == null) || (cur.get(2)
+            .equals(j + "_12"))));
+        Assert.assertTrue(((cur.get(3) == null) || (cur.get(3)
+            .equals(j + "_12"))));
       }
       i++;
     }// while
     Assert.assertEquals(40, i);
   }
 
+  @Test
   public void testReaderThroughIO() throws ExecException, IOException,
     ParseException {
 
     String projection1 = new String("a,b,c");
-    BasicTable.Reader reader = new BasicTable.Reader(pathTable1, conf);
+    BasicTable.Reader reader = new BasicTable.Reader(path1, conf);
     reader.setProjection(projection1);
     List<RangeSplit> splits = reader.rangeSplit(1);
     TableScanner scanner = reader.getScanner(splits.get(0), true);
@@ -356,7 +331,6 @@ public class TestBasicUnion {
     Tuple RowValue = TypesUtils.createTuple(scanner.getSchema());
 
     scanner.getKey(key);
-    // Assert.assertEquals(key, new BytesWritable("k11".getBytes()));
 
     System.out.println("read record or record:" + RowValue.toString());
 
@@ -380,18 +354,11 @@ public class TestBasicUnion {
     reader.close();
   }
 
-  // all fields
+  // field c
+  @Test
   public void testReader2() throws ExecException, IOException {
 
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str2 = pathTable2.toString().substring(
-        pathTable2.toString().indexOf("/", 7), pathTable2.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str2
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('c');";
-    System.out.println(query);
-
-    pigServer.registerQuery(query);
+    pigServer.registerQuery(constructQuery(path1, path2, "'c'"));
     Iterator<Tuple> it = pigServer.openIterator("records");
 
     int i = 0;
@@ -407,12 +374,14 @@ public class TestBasicUnion {
       if (i <= 9) {
         System.out.println("first table first part: " + cur.toString());
 
-        Assert.assertEquals(i + "_02", cur.get(0));
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(i + "_02"))));
+
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       if (i >= 10) {
@@ -420,12 +389,14 @@ public class TestBasicUnion {
       }
       if (k <= 9 && k >= 0) {
         System.out.println("first table second part:  : " + cur.toString());
-        Assert.assertEquals(k + "_12", cur.get(0));
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(k + "_12"))));
+
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       if (k >= 10) {
@@ -433,12 +404,14 @@ public class TestBasicUnion {
       }
       if (t <= 9 && t >= 0) {
         System.out.println("second table first part: " + cur.toString());
-        Assert.assertEquals(null, cur.get(0));
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(t + "_02"))));
+
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       if (t >= 10) {
@@ -446,13 +419,14 @@ public class TestBasicUnion {
       }
       if (j <= 9 && j >= 0) {
         System.out.println("second table first part: " + cur.toString());
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(j + "_12"))));
 
-        Assert.assertEquals(null, cur.get(0));
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       i++;
@@ -461,16 +435,10 @@ public class TestBasicUnion {
   }
 
   // projection for common exist colum a
+  @Test
   public void testReader3() throws ExecException, IOException {
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str2 = pathTable2.toString().substring(
-        pathTable2.toString().indexOf("/", 7), pathTable2.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str2
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('a');";
-    System.out.println(query);
 
-    pigServer.registerQuery(query);
+    pigServer.registerQuery(constructQuery(path1, path2, "'a'"));
     Iterator<Tuple> it = pigServer.openIterator("records");
 
     int i = 0;
@@ -486,12 +454,14 @@ public class TestBasicUnion {
       // first table
       if (i <= 9) {
         System.out.println("first table first part: " + cur.toString());
-        Assert.assertEquals(i + "_00", cur.get(0));
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(i + "_00"))));
+
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       if (i >= 10) {
@@ -499,12 +469,14 @@ public class TestBasicUnion {
       }
       if (k <= 9 && k >= 0) {
         System.out.println("first table second part:  : " + cur.toString());
-        Assert.assertEquals(k + "_10", cur.get(0));
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(k + "_10"))));
+
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
 
@@ -514,12 +486,14 @@ public class TestBasicUnion {
       }
       if (t <= 9 && t >= 0) {
         System.out.println("second table first part: " + cur.toString());
-        Assert.assertEquals(t + "_00", cur.get(0));
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(t + "_00"))));
+
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       if (t >= 10) {
@@ -527,12 +501,14 @@ public class TestBasicUnion {
       }
       if (j <= 9 && j >= 0) {
         System.out.println("second table first part: " + cur.toString());
-        Assert.assertEquals(j + "_10", cur.get(0));
+        Assert.assertTrue(((cur.get(0) == null) || (cur.get(0)
+            .equals(j + "_10"))));
+
         try {
           cur.get(1);
           Assert.fail("should throw index out of bound exception ");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       i++;
@@ -541,19 +517,10 @@ public class TestBasicUnion {
   }
 
   // some common fields
+  @Test
   public void testReader4() throws ExecException, IOException {
 
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str2 = pathTable2.toString().substring(
-        pathTable2.toString().indexOf("/", 7), pathTable2.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str2
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('a, b');";
-    System.out.println(query);
-    // records = LOAD '/user/jing1234/1,/user/jing1234/2' USING
-    // org.apache.hadoop.zebra.pig.TableLoader('a, b, c, d');
-
-    pigServer.registerQuery(query);
+    pigServer.registerQuery(constructQuery(path1, path2, "'a, b'"));
     Iterator<Tuple> it = pigServer.openIterator("records");
 
     int i = 0;
@@ -575,7 +542,7 @@ public class TestBasicUnion {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
 
       }
@@ -590,7 +557,7 @@ public class TestBasicUnion {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
 
@@ -606,7 +573,7 @@ public class TestBasicUnion {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       if (t >= 10) {
@@ -620,7 +587,7 @@ public class TestBasicUnion {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       i++;
@@ -629,18 +596,10 @@ public class TestBasicUnion {
   }
 
   // common column, but different posion
+  @Test
   public void testReader5() throws ExecException, IOException {
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str2 = pathTable2.toString().substring(
-        pathTable2.toString().indexOf("/", 7), pathTable2.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str2
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('e, f');";
-    System.out.println(query);
-    // records = LOAD '/user/jing1234/1,/user/jing1234/2' USING
-    // org.apache.hadoop.zebra.pig.TableLoader('a, b, c, d');
 
-    pigServer.registerQuery(query);
+    pigServer.registerQuery(constructQuery(path1, path2, "'e,f'"));
     Iterator<Tuple> it = pigServer.openIterator("records");
 
     int i = 0;
@@ -656,13 +615,16 @@ public class TestBasicUnion {
       // first table
       if (i <= 9) {
         System.out.println("first table first part: " + cur.toString());
-        Assert.assertEquals(i + "_03", cur.get(0));
-        Assert.assertEquals(i + "_04", cur.get(1));
+        Assert.assertTrue(((cur.get(0)).equals(i + "_03") || (cur.get(0)
+            .equals(i + "_04"))));
+        System.out.println("get1: " + cur.get(1));
+        Assert.assertTrue(((cur.get(1)).equals(i + "_03") || (cur.get(1)
+            .equals(i + "_04"))));
         try {
           cur.get(2);
           Assert.fail("should throw out of index bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
       }
       if (i >= 10) {
@@ -670,8 +632,10 @@ public class TestBasicUnion {
       }
       if (k <= 9 && k >= 0) {
         System.out.println("first table second part:  : " + cur.toString());
-        Assert.assertEquals(k + "_13", cur.get(0));
-        Assert.assertEquals(k + "_14", cur.get(1));
+        Assert.assertTrue(((cur.get(0).equals(k + "_13")) || (cur.get(0)
+            .equals(k + "_14"))));
+        Assert.assertTrue(((cur.get(1).equals(k + "_13")) || (cur.get(1)
+            .equals(k + "_14"))));
 
       }
 
@@ -681,16 +645,22 @@ public class TestBasicUnion {
       }
       if (t <= 9 && t >= 0) {
         System.out.println("second table first part: " + cur.toString());
-        Assert.assertEquals(t + "_04", cur.get(0));
-        Assert.assertEquals(t + "_03", cur.get(1));
+        Assert.assertTrue(((cur.get(0).equals(t + "_03")) || (cur.get(0)
+            .equals(t + "_04"))));
+        Assert.assertTrue(((cur.get(1).equals(t + "_03")) || (cur.get(1)
+            .equals(t + "_04"))));
+
       }
       if (t >= 10) {
         j++;
       }
       if (j <= 9 && j >= 0) {
         System.out.println("second table first part: " + cur.toString());
-        Assert.assertEquals(j + "_14", cur.get(0));
-        Assert.assertEquals(j + "_13", cur.get(1));
+        Assert.assertTrue(((cur.get(0).equals(j + "_13")) || (cur.get(0)
+            .equals(j + "_14"))));
+        Assert.assertTrue(((cur.get(1).equals(j + "_13")) || (cur.get(1)
+            .equals(j + "_14"))));
+
       }
       i++;
     }// while
@@ -700,15 +670,8 @@ public class TestBasicUnion {
   @Test
   // union two tables with different column numbers and column positions
   public void testReader6() throws ExecException, IOException {
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str5 = pathTable2.toString().substring(
-        pathTable5.toString().indexOf("/", 7), pathTable5.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str5
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('b,a');";
-    System.out.println(query);
 
-    pigServer.registerQuery(query);
+    pigServer.registerQuery(constructQuery(path1, path5, "'b,a'"));
     Iterator<Tuple> it = pigServer.openIterator("records");
 
     int i = 0;
@@ -730,7 +693,7 @@ public class TestBasicUnion {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
 
       }
@@ -745,7 +708,7 @@ public class TestBasicUnion {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
 
       }
@@ -756,13 +719,13 @@ public class TestBasicUnion {
       }
       if (t <= 9 && t >= 0) {
         System.out.println("second table first part: " + cur.toString());
-        Assert.assertEquals(t + "_01", cur.get(0));
-        Assert.assertEquals(t + "_00", cur.get(1));
+        Assert.assertEquals(t + "_00", cur.get(0));
+        Assert.assertEquals(t + "_01", cur.get(1));
         try {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
 
       }
@@ -771,13 +734,13 @@ public class TestBasicUnion {
       }
       if (j <= 9 && j >= 0) {
         System.out.println("second table first part: " + cur.toString());
-        Assert.assertEquals(j + "_11", cur.get(0));
-        Assert.assertEquals(j + "_10", cur.get(1));
+        Assert.assertEquals(j + "_10", cur.get(0));
+        Assert.assertEquals(j + "_11", cur.get(1));
         try {
           cur.get(2);
           Assert.fail("should throw index out of bound exception");
         } catch (Exception e) {
-          e.printStackTrace();
+
         }
 
       }
@@ -786,121 +749,115 @@ public class TestBasicUnion {
     Assert.assertEquals(40, i);
   }
 
-  // both paths is hdfs://...
+  // both paths is hdfs:///../jars. mini cluster need to substr, real cluster
+  // don't need to
+  @Test
   public void testNeg1() throws ExecException, IOException {
-    String str1 = pathTable1.toString();
-    String str2 = pathTable2.toString();
-    String query = "records = LOAD '" + str1 + "," + str2
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('a,b,c,d');";
-    System.out.println(query);
-    // records = LOAD
-    // 'hdfs://localhost.localdomain:39125/user/jing1234/1,hdfs://localhost.localdomain:39125/user/jing1234/2'
-    // USING org.apache.hadoop.zebra.pig.TableLoader('a, b, c, d');
-    pigServer.registerQuery(query);
 
-    Iterator<Tuple> it = pigServer.openIterator("records");
+      pigServer.registerQuery(constructQuery(path1, path2, "'a,b,c,d'"));
+      Iterator<Tuple> it = pigServer.openIterator("records");
 
-    int cnt = 0;
-    Tuple cur = it.next();
-    cnt++;
-    while (it.hasNext()) {
-      cur = it.next();
-      System.out.println(cur);
+      int cnt = 0;
+      Tuple cur = it.next();
       cnt++;
-      if (cnt == 1) {
-        Assert.assertEquals("0_00", cur.get(0));
-        Assert.assertEquals("0_01", cur.get(1));
-        Assert.assertEquals("0_02", cur.get(2));
-        Assert.assertEquals(null, cur.get(3));
-      }
-      if (cnt == 21) {
-        Assert.assertEquals("0_00", cur.get(0));
-        Assert.assertEquals("0_01", cur.get(1));
-        Assert.assertEquals(null, cur.get(2));
-        Assert.assertEquals("0_02", cur.get(3));
+      while (it.hasNext()) {
+          cur = it.next();
+          System.out.println(cur);
+          cnt++;
+          if (cnt == 1) {
+              Assert.assertEquals("0_00", cur.get(0));
+              Assert.assertEquals("0_01", cur.get(1));
+              Assert
+                      .assertTrue(((cur.get(2) == null) || (cur.get(2).equals("0_02"))));
+              Assert
+                      .assertTrue(((cur.get(3) == null) || (cur.get(3).equals("0_02"))));
+          }
+          if (cnt == 22) {
+              Assert.assertEquals("1_00", cur.get(0));
+              Assert.assertEquals("1_01", cur.get(1));
+              Assert
+                      .assertTrue(((cur.get(2) == null) || (cur.get(2).equals("1_02"))));
+              Assert
+                      .assertTrue(((cur.get(3) == null) || (cur.get(3).equals("1_02"))));
+
+          }
       }
-    }
-    Assert.assertEquals(cnt, 40);
+      Assert.assertEquals(cnt, 40);
+
   }
 
   // non-existing column
+  @Test
   public void testNeg2() throws ExecException, IOException {
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str2 = pathTable2.toString().substring(
-        pathTable2.toString().indexOf("/", 7), pathTable2.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str2
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('a,f');";
-
-    System.out.println(query);
-    // records = LOAD
-    // 'hdfs://localhost.localdomain:39125/user/jing1234/1,hdfs://localhost.localdomain:39125/user/jing1234/2'
-    // USING org.apache.hadoop.zebra.pig.TableLoader('a, b, c, d');
-    pigServer.registerQuery(query);
+
+    pigServer.registerQuery(constructQuery(path1, path2, "'a,f,x'"));
 
     Iterator<Tuple> it = pigServer.openIterator("records");
 
     int cnt = 0;
     Tuple cur = it.next();
-    cnt++;
+  //  cnt++;
     while (it.hasNext()) {
       cur = it.next();
       System.out.println(cur);
       cnt++;
       if (cnt == 1) {
-        Assert.assertEquals("0_00", cur.get(0));
-        Assert.assertEquals("0_01", cur.get(1));
-        Assert.assertEquals("0_02", cur.get(2));
-        Assert.assertEquals(null, cur.get(3));
+        Assert.assertEquals("1_00", cur.get(0));
+        System.out.println("neg2, cnt ==1: " +cur.get(1));
+        Assert
+            .assertTrue(((cur.get(1) == null) || (cur.get(1).equals("1_03"))||(cur.get(1).equals("1_04"))));
+        Assert.assertEquals(null, cur.get(2));
+
+        try {
+          cur.get(3);
+          Assert.fail("should throw index out of bound exception");
+        } catch (Exception e) {
+
+        }
       }
       if (cnt == 21) {
-        Assert.assertEquals("0_00", cur.get(0));
-        Assert.assertEquals("0_01", cur.get(1));
+        Assert.assertEquals("1_00", cur.get(0));
+        System.out.println("neg2, cnt ==22: " +cur.get(1));
+        
+        Assert
+            .assertTrue(((cur.get(1) == null) || (cur.get(1).equals("1_04"))||(cur.get(1).equals("1_03"))));
         Assert.assertEquals(null, cur.get(2));
-        Assert.assertEquals("0_02", cur.get(3));
+        try {
+          cur.get(3);
+          Assert.fail("should throw index out of bound exception");
+        } catch (Exception e) {
+
+        }
       }
     }
-    Assert.assertEquals(cnt, 40);
+    Assert.assertEquals(39, cnt);
   }
 
   @Test
   // 2 table with same column name but different type and different position.
   // should throw exception
   public void testNeg3() throws ExecException, IOException {
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str3 = pathTable3.toString().substring(
-        pathTable3.toString().indexOf("/", 7), pathTable3.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str3
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('a, b');";
-    System.out.println(query);
-    // records = LOAD '/user/jing1234/1,/user/jing1234/3' USING
-    // org.apache.hadoop.zebra.pig.TableLoader('a,b');
     try {
-      pigServer.registerQuery(query);
+      pigServer.registerQuery(constructQuery(path1, path3, "'a, b'"));
       Assert.fail("should throw exception");
     } catch (Exception e) {
-      e.printStackTrace();
     }
   }
 
-  @Test
+    @Test
   // union table1 and table4. they have same culumn name with differnt types ,
   // should throw excepiton in union
   public void testNeg4() throws ExecException, IOException {
-
-    String str1 = pathTable1.toString().substring(
-        pathTable1.toString().indexOf("/", 7), pathTable1.toString().length());
-    String str4 = pathTable4.toString().substring(
-        pathTable4.toString().indexOf("/", 7), pathTable4.toString().length());
-    String query = "records = LOAD '" + str1 + "," + str4
-        + "' USING org.apache.hadoop.zebra.pig.TableLoader('a, b, c');";
-    System.out.println(query);
-    try {
-      pigServer.registerQuery(query);
+      try {
+      pigServer.registerQuery(constructQuery(path1, path4, "'a, b, c'"));
       Assert.fail("should throw exception");
     } catch (Exception e) {
-      e.printStackTrace();
     }
   }
-}
\ No newline at end of file
+
+  protected String constructQuery(Path path1, Path path2, String schema)
+  {
+    return "records = LOAD '" + path1 + "," + path2
+            + "' USING org.apache.hadoop.zebra.pig.TableLoader(" + schema + ");";
+  }
+}

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCogroup.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCogroup.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCogroup.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCogroup.java Mon Mar 22 07:54:51 2010
@@ -32,6 +32,7 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.pig.TableStorer;
@@ -57,77 +58,18 @@ import org.junit.Test;
  * app/debug configuration, when run this from inside the Eclipse.
  * 
  */
-public class TestCogroup {
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
+public class TestCogroup extends BaseTestCase
+{
   private static Path pathTable;
-  private static Configuration conf;
-  private static FileSystem fs;
-  private static String zebraJar;
-  private static String whichCluster;
+
 
   @BeforeClass
   public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
 
-    // if whichCluster is not defined, or defined something other than
-    // "realCluster" or "miniCluster", set it to "miniCluster"
-    if (System.getProperty("whichCluster") == null
-        || ((!System.getProperty("whichCluster")
-            .equalsIgnoreCase("realCluster")) && (!System.getProperty(
-            "whichCluster").equalsIgnoreCase("miniCluster")))) {
-      System.setProperty("whichCluster", "miniCluster");
-      whichCluster = System.getProperty("whichCluster");
-    } else {
-      whichCluster = System.getProperty("whichCluster");
-    }
+    init();
+    pathTable = getTableFullPath("TestCogroup");
+    removeDir(pathTable);
 
-    System.out.println("cluster: " + whichCluster);
-    if (whichCluster.equalsIgnoreCase("realCluster")
-        && System.getenv("HADOOP_HOME") == null) {
-      System.out.println("Please set HADOOP_HOME");
-      System.exit(0);
-    }
-
-    conf = new Configuration();
-
-    if (whichCluster.equalsIgnoreCase("realCluster")
-        && System.getenv("USER") == null) {
-      System.out.println("Please set USER");
-      System.exit(0);
-    }
-    zebraJar = System.getenv("HADOOP_HOME") + "/../jars/zebra.jar";
-    File file = new File(zebraJar);
-    if (!file.exists() && whichCluster.equalsIgnoreCase("realCulster")) {
-      System.out.println("Please put zebra.jar at hadoop_home/../jars");
-      System.exit(0);
-    }
-
-    if (whichCluster.equalsIgnoreCase("realCluster")) {
-      pigServer = new PigServer(ExecType.MAPREDUCE, ConfigurationUtil
-          .toProperties(conf));
-      pigServer.registerJar(zebraJar);
-      pathTable = new Path("/user/" + System.getenv("USER")
-          + "/TestTableMergeJoinAfterFilter");
-      fs = pathTable.getFileSystem(conf);
-    }
-
-    if (whichCluster.equalsIgnoreCase("miniCluster")) {
-      if (execType == ExecType.MAPREDUCE) {
-        cluster = MiniCluster.buildCluster();
-        pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-        fs = cluster.getFileSystem();
-        pathTable = new Path(fs.getWorkingDirectory() + "/TestTableMergeJoinAfterFilter");
-        System.out.println("path1 =" + pathTable);
-      } else {
-        pigServer = new PigServer(ExecType.LOCAL);
-      }
-    }
     BasicTable.Writer writer = new BasicTable.Writer(pathTable,
         "SF_a:string,SF_b:string,SF_c,SF_d,SF_e,SF_f,SF_g",
         "[SF_a, SF_b, SF_c]; [SF_e, SF_f, SF_g]", conf);
@@ -225,7 +167,9 @@ public class TestCogroup {
     String foreach = "records6 = foreach records5 generate flatten(records3), flatten(records4);";
     pigServer.registerQuery(foreach);
 
-    Path newPath = new Path(getCurrentMethodName());
+    Path newPath = new Path("testStorer");
+    System.out.println("newPath = " + newPath);
+    removeDir(newPath);
 
     /*
      * Table1 creation
@@ -237,5 +181,7 @@ public class TestCogroup {
             TableStorer.class.getCanonicalName()
                 + "('[records3::SF_a]; [records4::SF_a]')");
     Assert.assertNull(pigJob.getException());
+    
+    removeDir(newPath);
   }
 }

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java Mon Mar 22 07:54:51 2010
@@ -18,37 +18,26 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.StringTokenizer;
-
 import junit.framework.Assert;
-import junit.framework.TestCase;
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.RawLocalFileSystem;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.io.TableScanner;
 import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
 import org.apache.hadoop.zebra.parser.ParseException;
-import org.apache.hadoop.zebra.types.Projection;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
 import org.apache.pig.ExecType;
 import org.apache.pig.PigServer;
-import org.apache.pig.backend.executionengine.ExecException;
+import org.apache.pig.backend.hadoop.datastorage.ConfigurationUtil;
 import org.apache.pig.data.DataBag;
 import org.apache.pig.data.DataByteArray;
 import org.apache.pig.data.Tuple;
@@ -62,81 +51,24 @@ import org.junit.Test;
  * Test projections on complicated column types.
  * 
  */
-public class TestCollection {
-
+public class TestCollection extends BaseTestCase
+{
   final static String STR_SCHEMA = "c:collection(record(a:double, b:float, c:bytes))";
   final static String STR_STORAGE = "[c]";
-  private static Configuration conf;
-  private static FileSystem fs;
 
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
   private static Path path;
 
   @BeforeClass
-  public static void setUpOnce() throws IOException {
+  public static void setUp() throws Exception {
 
-    System.out.println("ONCE SETUP !! ---------");
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
+    init();
 
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
-
-    conf = new Configuration();
-    FileSystem fs = cluster.getFileSystem();
-    Path pathWorking = fs.getWorkingDirectory();
-    // path = new Path(pathWorking, this.getClass().getSimpleName());
-    path = fs.getWorkingDirectory();
-    System.out.println("path =" + path);
+    path = getTableFullPath("TestCollection");
+    removeDir(path);
 
     BasicTable.Writer writer = new BasicTable.Writer(path, STR_SCHEMA,
         STR_STORAGE, conf);
-    /*
-     * conf = new Configuration();
-     * conf.setInt("table.output.tfile.minBlock.size", 64 * 1024);
-     * conf.setInt("table.input.split.minSize", 64 * 1024);
-     * conf.set("table.output.tfile.compression", "none");
-     * 
-     * RawLocalFileSystem rawLFS = new RawLocalFileSystem(); fs = new
-     * LocalFileSystem(rawLFS); path = new Path(fs.getWorkingDirectory(),
-     * this.getClass() .getSimpleName()); fs = path.getFileSystem(conf); // drop
-     * any previous tables BasicTable.drop(path, conf); BasicTable.Writer writer
-     * = new BasicTable.Writer(path, STR_SCHEMA, STR_STORAGE, false, conf);
-     */
-    /*
-     * /* Schema schema = writer.getSchema(); Tuple tuple =
-     * TypesUtils.createTuple(schema);
-     * 
-     * final int numsBatch = 10; final int numsInserters = 2; TableInserter[]
-     * inserters = new TableInserter[numsInserters]; for (int i = 0; i <
-     * numsInserters; i++) { inserters[i] = writer.getInserter("ins" + i,
-     * false); }
-     * 
-     * for (int b = 0; b < numsBatch; b++) { for (int i = 0; i < numsInserters;
-     * i++) { TypesUtils.resetTuple(tuple);
-     * 
-     * DataBag bagColl = TypesUtils.createBag(); Schema schColl =
-     * schema.getColumn(0).getSchema(); Tuple tupColl1 =
-     * TypesUtils.createTuple(schColl); Tuple tupColl2 =
-     * TypesUtils.createTuple(schColl); byte[] abs1 = new byte[3]; byte[] abs2 =
-     * new byte[4]; tupColl1.set(0, 3.1415926); tupColl1.set(1, 1.6); abs1[0] =
-     * 11; abs1[1] = 12; abs1[2] = 13; tupColl1.set(2, new DataByteArray(abs1));
-     * bagColl.add(tupColl1); tupColl2.set(0, 123.456789); tupColl2.set(1, 100);
-     * abs2[0] = 21; abs2[1] = 22; abs2[2] = 23; abs2[3] = 24; tupColl2.set(2,
-     * new DataByteArray(abs2)); bagColl.add(tupColl2); tuple.set(0, bagColl);
-     * 
-     * inserters[i].insert(new BytesWritable(("key" + i).getBytes()), tuple); }
-     * } for (int i = 0; i < numsInserters; i++) { inserters[i].close(); }
-     */
+   
 
     writer.finish();
 
@@ -278,6 +210,7 @@ public class TestCollection {
   }
 
   // Negative none exist column, TODO: failed, throw null pointer
+  @Test
   public void testReadNeg2() throws IOException, ParseException {
     String query = "records = LOAD '" + path.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('d');";
@@ -286,4 +219,4 @@ public class TestCollection {
     // TODO: verify it returns a tuple with null value
   }
 
-}
\ No newline at end of file
+}

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java Mon Mar 22 07:54:51 2010
@@ -18,58 +18,37 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.DataBag;
 import org.apache.pig.data.DataByteArray;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.test.MiniCluster;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TestCollectionTableLoader {
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
-  private static Path pathTable;
+import java.io.IOException;
+import java.util.Iterator;
+
+public class TestCollectionTableLoader extends BaseTestCase
+{
+
+  private static Path path;
 
   @BeforeClass
   public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
+    init();
 
-    Configuration conf = new Configuration();
-    FileSystem fs = cluster.getFileSystem();
-    Path pathWorking = fs.getWorkingDirectory();
-    pathTable = new Path(pathWorking, "TestCollectionTable");
-    // drop any previous tables
-    BasicTable.drop(pathTable, conf);
+    path = getTableFullPath("TestCollectionTableLoader");
+    removeDir(path);
 
-    BasicTable.Writer writer = new BasicTable.Writer(pathTable,
+    BasicTable.Writer writer = new BasicTable.Writer(path,
         "c:collection(record(a:double, b:float, c:bytes))", "[c]", conf);
     Schema schema = writer.getSchema();
     Tuple tuple = TypesUtils.createTuple(schema);
@@ -114,7 +93,7 @@ public class TestCollectionTableLoader {
     for (int i = 0; i < numsInserters; i++) {
       inserters[i].close();
     }
-    writer.close();
+	writer.close();
   }
 
   @AfterClass
@@ -124,7 +103,7 @@ public class TestCollectionTableLoader {
 
   @Test
   public void testReader() throws ExecException, IOException {
-    String query = "records = LOAD '" + pathTable.toString()
+    String query = "records = LOAD '" + path.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('c');";
     System.out.println(query);
     pigServer.registerQuery(query);

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java Mon Mar 22 07:54:51 2010
@@ -18,63 +18,36 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
+import junit.framework.Assert;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
-import org.apache.hadoop.zebra.pig.TableStorer;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
 import org.apache.pig.backend.executionengine.ExecException;
+import org.apache.pig.backend.executionengine.ExecJob;
 import org.apache.pig.data.DataBag;
 import org.apache.pig.data.DataByteArray;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.test.MiniCluster;
-import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TestCollectionTableStorer {
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
+import java.io.IOException;
+import java.util.Iterator;
+
+public class TestCollectionTableStorer extends BaseTestCase
+{
   private static Path pathTable;
 
   @BeforeClass
   public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
-
-    Configuration conf = new Configuration();
-    FileSystem fs = cluster.getFileSystem();
-    Path pathWorking = fs.getWorkingDirectory();
-    pathTable = new Path(pathWorking, "TestCollectionTable");
-    // drop any previous tables
-    BasicTable.drop(pathTable, conf);
+    init();
+    pathTable = getTableFullPath("TestCollectionTableStorer");
+    removeDir(pathTable);
 
-    System.out.println("table path=" + pathTable);
     BasicTable.Writer writer = new BasicTable.Writer(pathTable,
         "c:collection(record(a:double, b:float, c:bytes))", "[c]", conf);
     Schema schema = writer.getSchema();
@@ -141,8 +114,9 @@ public class TestCollectionTableStorer {
       System.out.println(cur);
     }
 
-    pigServer.store("records", new Path(pathTable, "store").toString(),
-        TableStorer.class.getCanonicalName()
-            + "('[c]')");
+    ExecJob pigJob = pigServer.store("records", new Path(pathTable, "store")
+        .toString(), TableStorer.class.getCanonicalName() + "('[c]')");
+
+    Assert.assertNull(pigJob.getException());
   }
 }

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestGlobTableLoader.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestGlobTableLoader.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestGlobTableLoader.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestGlobTableLoader.java Mon Mar 22 07:54:51 2010
@@ -29,6 +29,7 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.io.TableScanner;
@@ -53,80 +54,15 @@ import org.junit.Test;
  * app/debug configuration, when run this from inside the Eclipse.
  * 
  */
-public class TestGlobTableLoader{
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
+public class TestGlobTableLoader extends BaseTestCase {
+
   private static Path pathTable;
-  private static Configuration conf;
-  private static String zebraJar;
-  private static String whichCluster;
-  private static FileSystem fs;
+
   @BeforeClass
   public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    // if whichCluster is not defined, or defined something other than
-    // "realCluster" or "miniCluster", set it to "miniCluster"
-    if (System.getProperty("whichCluster") == null
-        || ((!System.getProperty("whichCluster")
-            .equalsIgnoreCase("realCluster")) && (!System.getProperty(
-            "whichCluster").equalsIgnoreCase("miniCluster")))) {
-      System.setProperty("whichCluster", "miniCluster");
-      whichCluster = System.getProperty("whichCluster");
-    } else {
-      whichCluster = System.getProperty("whichCluster");
-    }
-
-    System.out.println("cluster: " + whichCluster);
-    if (whichCluster.equalsIgnoreCase("realCluster")
-        && System.getenv("HADOOP_HOME") == null) {
-      System.out.println("Please set HADOOP_HOME");
-      System.exit(0);
-    }
-
-    conf = new Configuration();
-
-    if (whichCluster.equalsIgnoreCase("realCluster")
-        && System.getenv("USER") == null) {
-      System.out.println("Please set USER");
-      System.exit(0);
-    }
-    zebraJar = System.getenv("HADOOP_HOME") + "/../jars/zebra.jar";
-    File file = new File(zebraJar);
-    if (!file.exists() && whichCluster.equalsIgnoreCase("realCulster")) {
-      System.out.println("Please put zebra.jar at hadoop_home/../jars");
-      System.exit(0);
-    }
-
-    if (whichCluster.equalsIgnoreCase("realCluster")) {
-      pigServer = new PigServer(ExecType.MAPREDUCE, ConfigurationUtil
-          .toProperties(conf));
-      pigServer.registerJar(zebraJar);
-      pathTable = new Path("/user/" + System.getenv("USER")
-          + "/TestMapTableLoader");
-      removeDir(pathTable);
-      fs = pathTable.getFileSystem(conf);
-    }
-
-    if (whichCluster.equalsIgnoreCase("miniCluster")) {
-      if (execType == ExecType.MAPREDUCE) {
-        cluster = MiniCluster.buildCluster();
-        pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-        fs = cluster.getFileSystem();
-        pathTable = new Path(fs.getWorkingDirectory()
-            + "/TestMapTableLoader1");
-        removeDir(pathTable);
-        System.out.println("path1 =" + pathTable);
-      } else {
-        pigServer = new PigServer(ExecType.LOCAL);
-      }
-    }
-
+    init();
+    pathTable = getTableFullPath("TestGlobTableLoader");
+    removeDir(pathTable);
 
     BasicTable.Writer writer = new BasicTable.Writer(pathTable,
         "m1:map(string)", "[m1#{a}]", conf);
@@ -159,31 +95,13 @@ public class TestGlobTableLoader{
     for (int i = 0; i < numsInserters; i++) {
       inserters[i].close();
     }
-    writer.close();
+  	writer.close();
   }
 
   @AfterClass
   public static void tearDown() throws Exception {
     pigServer.shutdown();
   }
-  public static void removeDir(Path outPath) throws IOException {
-    String command = null;
-    if (whichCluster.equalsIgnoreCase("realCluster")) {
-    command = System.getenv("HADOOP_HOME") +"/bin/hadoop fs -rmr " + outPath.toString();
-    }
-    else{
-    command = "rm -rf " + outPath.toString();
-    }
-    Runtime runtime = Runtime.getRuntime();
-    Process proc = runtime.exec(command);
-    int exitVal = -1;
-    try {
-      exitVal = proc.waitFor();
-    } catch (InterruptedException e) {
-      System.err.println(e);
-    }
-    
-  }
 
   // @Test
   public void test1() throws IOException, ParseException {
@@ -218,8 +136,9 @@ public class TestGlobTableLoader{
 
   @Test
   public void testReader() throws ExecException, IOException {
-    pathTable = new Path("/user/" + System.getenv("USER")
-        + "/{TestMapTableLoader1}");
+    //pathTable = new Path("/user/" + System.getenv("USER") + "/{TestGlobTableLoader}");
+    pathTable = getTableFullPath("{TestGlobTableLoader}");
+    
     String query = "records = LOAD '" + pathTable.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('m1#{a}');";
     System.out.println(query);

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java Mon Mar 22 07:54:51 2010
@@ -18,22 +18,13 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.DataBag;
 import org.apache.pig.data.Tuple;
@@ -41,26 +32,18 @@ import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TestLoaderWithCollection {
-    protected static PigServer pigServer;
+import java.io.IOException;
+import java.util.Iterator;
+
+public class TestLoaderWithCollection extends BaseTestCase
+{
     private static Path pathTable;
 
     @BeforeClass
     public static void setUp() throws Exception {
-        if (System.getProperty("hadoop.log.dir") == null) {
-            String base = new File(".").getPath();
-            System
-            .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-        }
-
-        pigServer = new PigServer(ExecType.LOCAL);
-        Configuration conf = new Configuration();
-        FileSystem fs = LocalFileSystem.get(conf);
-
-        Path pathWorking = fs.getWorkingDirectory();
-        pathTable = new Path(pathWorking, "TestCollectionTable");
-        // drop any previous tables
-        BasicTable.drop(pathTable, conf);
+      init();
+      pathTable = getTableFullPath("TestMapTableLoader");
+      removeDir(pathTable);
 
         BasicTable.Writer writer = new BasicTable.Writer(pathTable,
                 "c:collection(record(a:double))", "[c]", conf);
@@ -114,5 +97,4 @@ public class TestLoaderWithCollection {
             System.out.println(cur);
         }
     }
-
 }

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableLoader.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableLoader.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableLoader.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableLoader.java Mon Mar 22 07:54:51 2010
@@ -18,37 +18,28 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
+import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.io.TableScanner;
-import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
 import org.apache.hadoop.zebra.parser.ParseException;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
 import org.apache.pig.backend.executionengine.ExecException;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.test.MiniCluster;
-import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Note:
  * 
@@ -56,32 +47,15 @@ import org.junit.Test;
  * app/debug configuration, when run this from inside the Eclipse.
  * 
  */
-public class TestMapTableLoader {
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
+public class TestMapTableLoader extends BaseTestCase
+{
   private static Path pathTable;
-  private static Configuration conf;
 
   @BeforeClass
   public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
-
-    conf = new Configuration();
-    FileSystem fs = cluster.getFileSystem();
-    Path pathWorking = fs.getWorkingDirectory();
-    pathTable = new Path(pathWorking, "TestMapTableLoader");
+    init();
+    pathTable = getTableFullPath("TestMapTableLoader");
+    removeDir(pathTable);
 
     BasicTable.Writer writer = new BasicTable.Writer(pathTable,
         "m1:map(string)", "[m1#{a}]", conf);
@@ -114,7 +88,7 @@ public class TestMapTableLoader {
     for (int i = 0; i < numsInserters; i++) {
       inserters[i].close();
     }
-    writer.close();
+	writer.close();
   }
 
   @AfterClass

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableStorer.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableStorer.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableStorer.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTableStorer.java Mon Mar 22 07:54:51 2010
@@ -18,34 +18,26 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
+import junit.framework.Assert;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
 import org.apache.hadoop.zebra.io.TableInserter;
-import org.apache.hadoop.zebra.pig.TableStorer;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
 import org.apache.pig.backend.executionengine.ExecException;
+import org.apache.pig.backend.executionengine.ExecJob;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.test.MiniCluster;
-import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
 /**
  * Note:
  * 
@@ -53,33 +45,18 @@ import org.junit.Test;
  * app/debug configuration, when run this from inside the Eclipse.
  * 
  */
-public class TestMapTableStorer {
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
-  private static Path pathTable;
+public class TestMapTableStorer extends BaseTestCase
+{
 
-  @BeforeClass
-  public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
+  private static Path pathTable ;
 
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
 
-    Configuration conf = new Configuration();
-    FileSystem fs = cluster.getFileSystem();
-    Path pathWorking = fs.getWorkingDirectory();
+  @BeforeClass
+  public static void setUp() throws Exception {
+    init();
+    pathTable = getTableFullPath(TestMapTableStorer.class.getSimpleName()) ;
+    removeDir(pathTable);
 
-    pathTable = new Path(pathWorking, "TestMapTableStorer");
-    System.out.println("table path=" + pathTable);
     BasicTable.Writer writer = new BasicTable.Writer(pathTable,
         "m:map(string)", "[m#{a}]", conf);
     Schema schema = writer.getSchema();
@@ -129,9 +106,10 @@ public class TestMapTableStorer {
       System.out.println(cur);
     }
 
-    pigServer
-        .store("records", new Path(pathTable, "store").toString(),
-            TableStorer.class.getCanonicalName()
-                + "('[m#{a|b}]')");
+    ExecJob pigJob = pigServer.store("records", new Path(pathTable, "store")
+        .toString(), TableStorer.class.getCanonicalName() + "('[m#{a|b}]')");
+
+    Assert.assertNull(pigJob.getException());
+
   }
-}
\ No newline at end of file
+}

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapType.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapType.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapType.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapType.java Mon Mar 22 07:54:51 2010
@@ -16,92 +16,53 @@
  */
 package org.apache.hadoop.zebra.pig;
 
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.StringTokenizer;
-
 import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.RawLocalFileSystem;
 import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.record.Record;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
+import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.io.TableScanner;
-import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
 import org.apache.hadoop.zebra.parser.ParseException;
-import org.apache.hadoop.zebra.types.Projection;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
-import org.apache.pig.backend.executionengine.ExecException;
-import org.apache.pig.test.MiniCluster;
-import org.apache.pig.data.DataBag;
-import org.apache.pig.data.DataByteArray;
 import org.apache.pig.data.Tuple;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * 
  * Test projections on complicated column types.
  * 
  */
-public class TestMapType {
+public class TestMapType extends BaseTestCase
+{
   final static String STR_SCHEMA = "m1:map(string),m2:map(map(int)), m4:map(map(record(f1:int,f2:string)))";
   final static String STR_STORAGE = "[m1#{a}];[m2#{x|y}]; [m1#{b}, m2#{z}]; [m4#{a4}]; [m4#{b4|c4}]";
 
-  private static Configuration conf;
-  private static FileSystem fs;
+  private static Path pathTable;
 
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
-  private static Path path;
 
   @BeforeClass
-  public static void setUpOnce() throws IOException {
-    System.out.println("ONCE SETUP !! ---------");
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
-
-    conf = new Configuration();
-    FileSystem fs = cluster.getFileSystem();
-    Path pathWorking = fs.getWorkingDirectory();
-    // path = new Path(pathWorking, this.getClass().getSimpleName());
-    path = fs.getWorkingDirectory();
-    System.out.println("path =" + path);
+  public static void setUp() throws Exception {
+    init();
+    pathTable = getTableFullPath(TestMapType.class.getSimpleName()) ;
+    removeDir(pathTable);
 
-    BasicTable.Writer writer = new BasicTable.Writer(path, STR_SCHEMA,
+    BasicTable.Writer writer = new BasicTable.Writer(pathTable, STR_SCHEMA,
         STR_STORAGE, conf);
     writer.finish();
     Schema schema = writer.getSchema();
     Tuple tuple = TypesUtils.createTuple(schema);
-    BasicTable.Writer writer1 = new BasicTable.Writer(path, conf);
+    BasicTable.Writer writer1 = new BasicTable.Writer(pathTable, conf);
     int part = 0;
     TableInserter inserter = writer1.getInserter("part" + part, true);
     TypesUtils.resetTuple(tuple);
@@ -254,14 +215,14 @@ public class TestMapType {
 
   @AfterClass
   public static void tearDownOnce() throws IOException {
-    BasicTable.drop(path, conf);
+    BasicTable.drop(pathTable, conf);
   }
 
   // read one map
   @Test
   public void testReadSimpleMap() throws IOException, ParseException {
 
-    String query = "records = LOAD '" + path.toString()
+    String query = "records = LOAD '" + pathTable.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('m1#{a}');";
     System.out.println(query);
     pigServer.registerQuery(query);
@@ -284,7 +245,7 @@ public class TestMapType {
   @Test
   public void testReadMapOfMap() throws IOException, ParseException {
     String query = "records = LOAD '"
-        + path.toString()
+        + pathTable.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('m1#{b}, m2#{x|z}');";
     System.out.println(query);
     pigServer.registerQuery(query);
@@ -330,7 +291,7 @@ public class TestMapType {
   @Test
   public void testReadMapOfRecord1() throws IOException, ParseException {
     String query = "records = LOAD '"
-        + path.toString()
+        + pathTable.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('m1#{b}, m4#{a4|c4}');";
     System.out.println(query);
     pigServer.registerQuery(query);
@@ -389,7 +350,7 @@ public class TestMapType {
   @Test
   // Positive? map object column through pig loader
   public void testRead4() throws IOException, ParseException {
-    String query = "records = LOAD '" + path.toString()
+    String query = "records = LOAD '" + pathTable.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('m1');";
 
     pigServer.registerQuery(query);
@@ -422,7 +383,7 @@ public class TestMapType {
   @Test
   // Negative non-exist column through pig loader
   public void testReadNeg1() throws IOException, ParseException {
-    String query = "records = LOAD '" + path.toString()
+    String query = "records = LOAD '" + pathTable.toString()
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('m5');";
 
     pigServer.registerQuery(query);
@@ -445,7 +406,7 @@ public class TestMapType {
   // non-existent column name through I/O
   public void testNeg2() throws IOException, ParseException {
     String projection = new String("m5");
-    BasicTable.Reader reader = new BasicTable.Reader(path, conf);
+    BasicTable.Reader reader = new BasicTable.Reader(pathTable, conf);
     reader.setProjection(projection);
 
     List<RangeSplit> splits = reader.rangeSplit(1);

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTypePrune.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTypePrune.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTypePrune.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMapTypePrune.java Mon Mar 22 07:54:51 2010
@@ -16,126 +16,47 @@
  */
 package org.apache.hadoop.zebra.pig;
 
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.StringTokenizer;
-
 import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.fs.RawLocalFileSystem;
 import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.record.Record;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.hadoop.zebra.io.BasicTable;
+import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
 import org.apache.hadoop.zebra.io.TableInserter;
 import org.apache.hadoop.zebra.io.TableScanner;
-import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
 import org.apache.hadoop.zebra.parser.ParseException;
-import org.apache.hadoop.zebra.types.Projection;
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
-import org.apache.pig.backend.executionengine.ExecException;
-import org.apache.pig.backend.hadoop.datastorage.ConfigurationUtil;
-import org.apache.pig.test.MiniCluster;
-import org.apache.pig.data.DataBag;
-import org.apache.pig.data.DataByteArray;
 import org.apache.pig.data.Tuple;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * 
  * Test projections on complicated column types.
  * 
  */
-public class TestMapTypePrune {
+public class TestMapTypePrune extends BaseTestCase
+{
   final static String STR_SCHEMA = "m1:map(string),m2:map(map(int)), m4:map(map(record(f1:int,f2:string)))";
   final static String STR_STORAGE = "[m1#{a}];[m2#{x|y}]; [m1#{b}, m2#{z}]; [m4#{a4}]; [m4#{b4|c4}]";
 
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
   private static Path pathTable;
-  private static Configuration conf;
-  private static FileSystem fs;
-  private static String zebraJar;
-  private static String whichCluster;
+
 
   @BeforeClass
   public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    // if whichCluster is not defined, or defined something other than
-    // "realCluster" or "miniCluster", set it to "miniCluster"
-    if (System.getProperty("whichCluster") == null
-        || ((!System.getProperty("whichCluster")
-            .equalsIgnoreCase("realCluster")) && (!System.getProperty(
-            "whichCluster").equalsIgnoreCase("miniCluster")))) {
-      System.setProperty("whichCluster", "miniCluster");
-      whichCluster = System.getProperty("whichCluster");
-    } else {
-      whichCluster = System.getProperty("whichCluster");
-    }
-
-    System.out.println("cluster: " + whichCluster);
-    if (whichCluster.equalsIgnoreCase("realCluster")
-        && System.getenv("HADOOP_HOME") == null) {
-      System.out.println("Please set HADOOP_HOME");
-      System.exit(0);
-    }
-
-    conf = new Configuration();
+    init();
+    pathTable = getTableFullPath(TestMapTypePrune.class.getSimpleName()) ;
+    removeDir(pathTable);
 
-    if (whichCluster.equalsIgnoreCase("realCluster")
-        && System.getenv("USER") == null) {
-      System.out.println("Please set USER");
-      System.exit(0);
-    }
-    zebraJar = System.getenv("HADOOP_HOME") + "/../jars/zebra.jar";
-    File file = new File(zebraJar);
-    if (!file.exists() && whichCluster.equalsIgnoreCase("realCulster")) {
-      System.out.println("Please put zebra.jar at hadoop_home/../jars");
-      System.exit(0);
-    }
-
-    if (whichCluster.equalsIgnoreCase("realCluster")) {
-      pigServer = new PigServer(ExecType.MAPREDUCE, ConfigurationUtil
-          .toProperties(conf));
-      pigServer.registerJar(zebraJar);
-      pathTable = new Path("/user/" + System.getenv("USER")
-          + "/TestMapType");
-      fs = pathTable.getFileSystem(conf);
-    }
-
-    if (whichCluster.equalsIgnoreCase("miniCluster")) {
-      if (execType == ExecType.MAPREDUCE) {
-        cluster = MiniCluster.buildCluster();
-        pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-        fs = cluster.getFileSystem();
-        pathTable = new Path(fs.getWorkingDirectory() + "TesMapType");
-        System.out.println("path1 =" + pathTable);
-      } else {
-        pigServer = new PigServer(ExecType.LOCAL);
-      }
-    }
     BasicTable.Writer writer = new BasicTable.Writer(pathTable, STR_SCHEMA,
         STR_STORAGE, conf);
     writer.finish();

Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMergeJoin.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMergeJoin.java?rev=925988&r1=925987&r2=925988&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMergeJoin.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMergeJoin.java Mon Mar 22 07:54:51 2010
@@ -18,16 +18,13 @@
 
 package org.apache.hadoop.zebra.pig;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import junit.framework.Assert;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.BytesWritable;
 import org.apache.hadoop.zebra.io.BasicTable;
@@ -38,25 +35,18 @@ import org.apache.hadoop.zebra.pig.Table
 import org.apache.hadoop.zebra.schema.Schema;
 import org.apache.hadoop.zebra.parser.ParseException;
 import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.ExecType;
-import org.apache.pig.PigServer;
+import org.apache.hadoop.zebra.BaseTestCase;
 import org.apache.pig.backend.executionengine.ExecException;
+import org.apache.pig.backend.executionengine.ExecJob;
 import org.apache.pig.data.DataByteArray;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.test.MiniCluster;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class TestMergeJoin {
-  protected static ExecType execType = ExecType.MAPREDUCE;
-  private static MiniCluster cluster;
-  protected static PigServer pigServer;
-  private static Configuration conf;
-  private static FileSystem fs;
+public class TestMergeJoin extends BaseTestCase {
   final static int numsBatch = 4;
   final static int numsInserters = 1;
-  static Path pathWorking;
   static Path pathTable1;
   static Path pathTable2;
   final static String STR_SCHEMA1 = "a:int,b:float,c:long,d:double,e:string,f:bytes,r1:record(f1:string, f2:string),m1:map(string)";
@@ -65,37 +55,20 @@ public class TestMergeJoin {
   final static String STR_STORAGE1 = "[a, b, c]; [e, f]; [r1.f1]; [m1#{a}]";
   final static String STR_STORAGE2 = "[a];[b]; [c]; [e]; [f]; [r1.f1]; [m1#{a}]";
   static int t1 =0;
- 
+
   @BeforeClass
   public static void setUp() throws Exception {
-    if (System.getProperty("hadoop.log.dir") == null) {
-      String base = new File(".").getPath(); // getAbsolutePath();
-      System
-          .setProperty("hadoop.log.dir", new Path(base).toString() + "./logs");
-    }
-
-    if (execType == ExecType.MAPREDUCE) {
-      cluster = MiniCluster.buildCluster();
-      pigServer = new PigServer(ExecType.MAPREDUCE, cluster.getProperties());
-    } else {
-      pigServer = new PigServer(ExecType.LOCAL);
-    }
-   
-   
-    fs = cluster.getFileSystem();
-   
+    init();
+    
+    pathTable1 = getTableFullPath("TestMergeJoin1");
+    pathTable2 = getTableFullPath("TestMergeJoin2");    
+    removeDir(pathTable1);
+    removeDir(pathTable2);
 
- conf = new Configuration();
-// pigServer = new PigServer(ExecType.LOCAL);
-// fs = LocalFileSystem.get(conf);
-    
-    pathWorking = fs.getWorkingDirectory();
-    pathTable1 = new Path(pathWorking, "table1");
-    pathTable2 = new Path(pathWorking, "table2");
-    System.out.println("pathTable1 =" + pathTable1);
     createFirstTable();
     createSecondTable();
   }
+  
   public static void createFirstTable() throws IOException, ParseException {
     BasicTable.Writer writer = new BasicTable.Writer(pathTable1, STR_SCHEMA1,
         STR_STORAGE1, conf);
@@ -288,9 +261,6 @@ public class TestMergeJoin {
     }
     writer.close();
     
-    
-    
-    
     //check table is setup correctly
     String projection = new String("a,b,c,d,e,f,r1,m1");
     
@@ -322,14 +292,9 @@ public class TestMergeJoin {
   @AfterClass
   public static void tearDown() throws Exception {
     pigServer.shutdown();
-  }
-
-  private void printTuples(Iterator<Tuple> it3) throws ExecException {
-	    Tuple row = null;
-	    while( it3.hasNext() ) {
-	    	row = it3.next();
-	    	System.out.println( "Tuple>>>> " + row.toDelimitedString(","));
-	    }
+    BasicTable.drop(pathTable1, conf);
+    BasicTable.drop(pathTable2, conf);
+    
   }
   
   public void verify(Iterator<Tuple> it3) throws ExecException {
@@ -456,9 +421,12 @@ public class TestMergeJoin {
     this.t1++;
     
     String table1path = this.pathTable1.toString() + Integer.toString(this.t1);
-    pigServer.store("sort1", table1path, TableStorer.class.getCanonicalName()
+    removeDir(new Path(table1path));
+    ExecJob pigJob = pigServer.store("sort1", table1path, TableStorer.class.getCanonicalName()
         + "('[a, b, c]; [d, e, f, r1, m1]')");
 
+    Assert.assertNull(pigJob.getException());
+
     String query3 = "records1 = LOAD '"
         + table1path
         + "' USING org.apache.hadoop.zebra.pig.TableLoader('a, b, c, d, e, f, r1, m1', 'sorted');";
@@ -486,9 +454,13 @@ public class TestMergeJoin {
      */
     this.t1++;
     String table2path = this.pathTable2.toString() + Integer.toString(this.t1);
-    pigServer.store("sort2", table2path, TableStorer.class.getCanonicalName()
+    removeDir(new Path(table2path));
+    pigJob = pigServer.store("sort2", table2path, TableStorer.class.getCanonicalName()
         + "('[a, b, c]; [d,e,f,r1,m1]')");
-
+    if (pigJob.getException() != null){
+      System.out.println("******pig job exception"+ pigJob.getException().getMessage());
+    }
+    Assert.assertNull(pigJob.getException());
     String query4 = "records2 = LOAD '" + table2path
         + "' USING org.apache.hadoop.zebra.pig.TableLoader();";
     pigServer.registerQuery(query4);