You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ju...@apache.org on 2012/10/31 21:42:50 UTC

svn commit: r1404340 - in /pig/trunk: CHANGES.txt test/org/apache/pig/test/TestScriptLanguage.java test/org/apache/pig/test/TestScriptLanguageJavaScript.java

Author: julien
Date: Wed Oct 31 20:42:50 2012
New Revision: 1404340

URL: http://svn.apache.org/viewvc?rev=1404340&view=rev
Log:
PIG-3018: Refactor TestScriptLanguage to remove duplication and write script in different files (julien)

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java
    pig/trunk/test/org/apache/pig/test/TestScriptLanguageJavaScript.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1404340&r1=1404339&r2=1404340&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Wed Oct 31 20:42:50 2012
@@ -336,6 +336,8 @@ OPTIMIZATIONS
 
 BUG FIXES
 
+PIG-3018: Refactor TestScriptLanguage to remove duplication and write script in different files (julien)
+
 PIG-2973: TestStreaming test times out (cheolsoo)
 
 PIG-3001: TestExecutableManager.testAddJobConfToEnv fails randomly (cheolsoo)

Modified: pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java?rev=1404340&r1=1404339&r2=1404340&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestScriptLanguage.java Wed Oct 31 20:42:50 2012
@@ -17,12 +17,10 @@
  */
 package org.apache.pig.test;
 
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import java.io.File;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -31,12 +29,7 @@ import org.apache.pig.ExecType;
 import org.apache.pig.PigRunner;
 import org.apache.pig.PigServer;
 import org.apache.pig.data.Tuple;
-import org.apache.pig.impl.PigContext;
-import org.apache.pig.scripting.BoundScript;
-import org.apache.pig.scripting.Pig;
 import org.apache.pig.scripting.ScriptEngine;
-import org.apache.pig.scripting.ScriptPigContext;
-import org.apache.pig.tools.pigstats.JobStats;
 import org.apache.pig.tools.pigstats.OutputStats;
 import org.apache.pig.tools.pigstats.PigStats;
 import org.junit.After;
@@ -49,10 +42,10 @@ public class TestScriptLanguage {
 
     static MiniCluster cluster = MiniCluster.buildCluster();
     private PigServer pigServer;
-    
+
     @BeforeClass
     public static void setUpBeforeClass() throws Exception {
-        
+
     }
 
     @AfterClass
@@ -70,7 +63,50 @@ public class TestScriptLanguage {
         Util.deleteFile(cluster, "simple_out");
         Util.deleteFile(cluster, "simple_out2");
     }
-    
+
+    private String createScript(String name, String[] script) throws Exception {
+        String scriptName = name + "_testScript.py";
+        Util.createLocalInputFile(scriptName, script);
+        return scriptName;
+    }
+
+    private Map<String, List<PigStats>> runScript(String name, String[] script) throws Exception {
+        String scriptName = name + "_testScript.py";
+        Util.createLocalInputFile(scriptName, script);
+        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
+        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), scriptName);
+        return statsMap;
+    }
+
+    private PigStats runSimpleScript(String name, String[] script) throws Exception {
+        Map<String, List<PigStats>> statsMap = runScript(name, script);
+        assertEquals(1, statsMap.size());
+        Iterator<List<PigStats>> it = statsMap.values().iterator();
+        PigStats stats = it.next().get(0);
+        assertTrue("job should succeed", stats.isSuccessful());
+        return stats;
+    }
+
+    private PigStats runPigRunner(String name, String[] script, boolean shouldSucceed) throws Exception {
+        String scriptName = createScript(name, script);
+
+        String[] args = { "-g", "jython", scriptName };
+
+        PigStats mainStats = PigRunner.run(args, new TestPigRunner.TestNotificationListener());
+        if (shouldSucceed) {
+            assertTrue(mainStats.isEmbedded());
+            assertTrue("job should succeed", mainStats.isSuccessful());
+        } else {
+            assertFalse("job should fail", mainStats.isSuccessful());
+        }
+        return mainStats;
+    }
+
+
+    private PigStats runPigRunner(String name, String[] script) throws Exception {
+        return runPigRunner(name, script, true);
+    }
+
     @Test
     public void firstTest() throws Exception {
         String[] script = {
@@ -95,21 +131,16 @@ public class TestScriptLanguage {
 
         Util.deleteFile(cluster, "simple_table");
         Util.createInputFile(cluster, "simple_table", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
-        assertEquals(1, statsMap.size());        
-        Iterator<List<PigStats>> it = statsMap.values().iterator();      
-        PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+
+        PigStats stats = runSimpleScript("firstTest", script);
+
         assertEquals(1, stats.getNumberJobs());
         String name = stats.getOutputNames().get(0);
         assertEquals("simple_out", name);
         assertEquals(12, stats.getBytesWritten());
-        assertEquals(3, stats.getRecordWritten());     
+        assertEquals(3, stats.getRecordWritten());
     }
-    
+
     @Test
     public void secondTest() throws Exception {
         String[] script = {
@@ -118,7 +149,7 @@ public class TestScriptLanguage {
                 "Pig.fs(\"rmr simple_out\")",
                 "input = 'simple_table_6'",
                 "output = 'simple_out'",
-                "P = Pig.compileFromFile(\"\"\"testScript.pig\"\"\")",
+                "P = Pig.compileFromFile(\"\"\"secondTest.pig\"\"\")",
                 "Q = P.bind({'input':input, 'output':output})",
                 "stats = Q.runSingle()",
                 "if stats.isSuccessful():",
@@ -131,30 +162,24 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         String[] pigLatin = {
                 "-- ensure comment parsed correctly",
                 "a = load '$input';",
                 "store a into '$output';"
         };
-        
+
         Util.createInputFile(cluster, "simple_table_6", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        Util.createLocalInputFile( "testScript.pig", pigLatin);
-        
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
-        assertEquals(1, statsMap.size());        
-        Iterator<List<PigStats>> it = statsMap.values().iterator();      
-        PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+        Util.createLocalInputFile( "secondTest.pig", pigLatin);
+
+        PigStats stats = runSimpleScript("secondTest", script);
         assertEquals(1, stats.getNumberJobs());
         String name = stats.getOutputNames().get(0);
         assertEquals("simple_out", name);
         assertEquals(12, stats.getBytesWritten());
-        assertEquals(3, stats.getRecordWritten());     
+        assertEquals(3, stats.getRecordWritten());
     }
-    
+
     @Test
     public void firstParallelTest() throws Exception {
         String[] script = {
@@ -174,24 +199,22 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         Util.createInputFile(cluster, "simple_table_1", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
+
+        Map<String, List<PigStats>> statsMap = runScript("firstParallelTest", script);
         assertEquals(1, statsMap.size());
         assertEquals("mypipeline", statsMap.keySet().iterator().next());
         List<PigStats> lst = statsMap.get("mypipeline");
         assertEquals(2, lst.size());
         for (PigStats stats : lst) {
-            assertTrue(stats.isSuccessful());
+            assertTrue("job should succeed", stats.isSuccessful());
             assertEquals(1, stats.getNumberJobs());
             assertEquals(12, stats.getBytesWritten());
-            assertEquals(3, stats.getRecordWritten());     
+            assertEquals(3, stats.getRecordWritten());
         }
     }
-    
+
     @Test
     public void pigRunnerTest() throws Exception {
         String[] script = {
@@ -212,27 +235,23 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         Util.createInputFile(cluster, "simple_table_2", input);
-        Util.createLocalInputFile( "testScript.py", script);
-          
-        String[] args = { "-g", "jython", "testScript.py" };
-        
-        PigStats mainStats = PigRunner.run(args, new TestPigRunner.TestNotificationListener());
-        assertTrue(mainStats.isEmbedded());
-        assertTrue(mainStats.isSuccessful());
+
+        PigStats mainStats = runPigRunner("pigRunnerTest", script);
+
         Map<String, List<PigStats>> statsMap = mainStats.getAllStats();
-        assertEquals(1, statsMap.size());        
-        Iterator<List<PigStats>> it = statsMap.values().iterator();      
+        assertEquals(1, statsMap.size());
+        Iterator<List<PigStats>> it = statsMap.values().iterator();
         PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+        assertTrue("job should succeed", stats.isSuccessful());
         assertEquals(1, stats.getNumberJobs());
         String name = stats.getOutputNames().get(0);
         assertEquals("simple_out", name);
         assertEquals(12, stats.getBytesWritten());
-        assertEquals(3, stats.getRecordWritten());     
+        assertEquals(3, stats.getRecordWritten());
     }
-    
+
     @Test
     public void runParallelTest() throws Exception {
         String[] script = {
@@ -252,27 +271,24 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         Util.createInputFile(cluster, "simple_table_3", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        String[] args = { "-g", "jython", "testScript.py" };
-        PigStats mainStats = PigRunner.run(args, new TestPigRunner.TestNotificationListener());
-        assertTrue(mainStats.isEmbedded());
-        assertTrue(mainStats.isSuccessful());
+
+        PigStats mainStats = runPigRunner("runParallelTest", script);
+
         Map<String, List<PigStats>> statsMap = mainStats.getAllStats();
         assertEquals(1, statsMap.size());
         assertEquals("mypipeline", statsMap.keySet().iterator().next());
         List<PigStats> lst = statsMap.get("mypipeline");
         assertEquals(2, lst.size());
         for (PigStats stats : lst) {
-            assertTrue(stats.isSuccessful());
+            assertTrue("job should succeed", stats.isSuccessful());
             assertEquals(1, stats.getNumberJobs());
             assertEquals(12, stats.getBytesWritten());
-            assertEquals(3, stats.getRecordWritten());     
+            assertEquals(3, stats.getRecordWritten());
         }
     }
-    
+
     @Test
     public void runParallelTest2() throws Exception {
         String[] script = {
@@ -292,14 +308,10 @@ public class TestScriptLanguage {
         String[] input = {
                 "1\t3"
         };
-        
+
         Util.createInputFile(cluster, "simple_table_7", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        String[] args = { "-g", "jython", "testScript.py" };
-        PigStats mainStats = PigRunner.run(args, new TestPigRunner.TestNotificationListener());
-        assertTrue(mainStats.isEmbedded());
-        assertTrue(mainStats.isSuccessful());
+        PigStats mainStats = runPigRunner("runParallelTest2", script);
+
         Map<String, List<PigStats>> statsMap = mainStats.getAllStats();
         assertEquals(1, statsMap.size());
         assertEquals("mypipeline", statsMap.keySet().iterator().next());
@@ -308,7 +320,7 @@ public class TestScriptLanguage {
         String[] results = new String[2];
         int i = 0;
         for (PigStats stats : lst) {
-            assertTrue(stats.isSuccessful());
+            assertTrue("job should succeed", stats.isSuccessful());
             assertEquals(1, stats.getNumberJobs());
             OutputStats os = stats.getOutputStats().get(0);
             Tuple t = os.iterator().next();
@@ -318,7 +330,7 @@ public class TestScriptLanguage {
         assertTrue(results[1] != null);
         assertTrue(!results[0].equals(results[1]));
     }
-    
+
     @Test
     public void runLoopTest() throws Exception {
         String[] script = {
@@ -336,27 +348,24 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         Util.createInputFile(cluster, "simple_table_4", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        String[] args = { "-g", "jython", "testScript.py" };
-        PigStats mainStats = PigRunner.run(args, new TestPigRunner.TestNotificationListener());
-        assertTrue(mainStats.isEmbedded());
-        assertTrue(mainStats.isSuccessful());
+
+        PigStats mainStats = runPigRunner("runLoopTest", script);
+
         Map<String, List<PigStats>> statsMap = mainStats.getAllStats();
         assertEquals(1, statsMap.size());
         assertEquals("mypipeline", statsMap.keySet().iterator().next());
         List<PigStats> lst = statsMap.get("mypipeline");
         assertEquals(2, lst.size());
         for (PigStats stats : lst) {
-            assertTrue(stats.isSuccessful());
+            assertTrue("job should succeed", stats.isSuccessful());
             assertEquals(1, stats.getNumberJobs());
             assertEquals(12, stats.getBytesWritten());
-            assertEquals(3, stats.getRecordWritten());     
+            assertEquals(3, stats.getRecordWritten());
         }
     }
-    
+
     @Test
     public void bindLocalVariableTest() throws Exception {
         String[] script = {
@@ -383,23 +392,18 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         Util.createInputFile(cluster, "simple_table_5", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
-        assertEquals(1, statsMap.size());        
-        Iterator<List<PigStats>> it = statsMap.values().iterator();      
-        PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+
+        PigStats stats = runSimpleScript("bindLocalVariableTest", script);
+
         assertEquals(1, stats.getNumberJobs());
         String name = stats.getOutputNames().get(0);
         assertEquals("simple_out", name);
         assertEquals(12, stats.getBytesWritten());
-        assertEquals(3, stats.getRecordWritten());     
+        assertEquals(3, stats.getRecordWritten());
     }
-    
+
     @Test
     public void bindLocalVariableTest2() throws Exception {
         String[] script = {
@@ -422,23 +426,18 @@ public class TestScriptLanguage {
                 "2$4",
                 "3$5"
         };
-        
+
         Util.createInputFile(cluster, "bindLocalVariableTest2", input);
-        Util.createLocalInputFile("testScript.py", script);
-        
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
-        assertEquals(1, statsMap.size());        
-        Iterator<List<PigStats>> it = statsMap.values().iterator();      
-        PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+
+        PigStats stats = runSimpleScript("bindLocalVariableTest2", script);
+
         assertEquals(1, stats.getNumberJobs());
         String name = stats.getOutputNames().get(0);
         assertEquals("simple_out", name);
         assertEquals(12, stats.getBytesWritten());
-        assertEquals(3, stats.getRecordWritten());     
+        assertEquals(3, stats.getRecordWritten());
     }
-    
+
     @Test
     public void bindNonStringVariableTest() throws Exception {
         String[] script = {
@@ -463,24 +462,19 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         Util.deleteFile(cluster, "simple_table");
         Util.createInputFile(cluster, "simple_table", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
-        assertEquals(1, statsMap.size());        
-        Iterator<List<PigStats>> it = statsMap.values().iterator();      
-        PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+
+        PigStats stats = runSimpleScript("bindNonStringVariableTest", script);
+
         assertEquals(1, stats.getNumberJobs());
         String name = stats.getOutputNames().get(0);
         assertEquals("simple_out", name);
         assertEquals(4, stats.getBytesWritten());
-        assertEquals(1, stats.getRecordWritten());     
+        assertEquals(1, stats.getRecordWritten());
     }
-    
+
     @Test
     public void fsTest() throws Exception {
         String[] script = {
@@ -492,16 +486,11 @@ public class TestScriptLanguage {
                 "else:",
                 "\traise 'fs command failed'"
         };
- 
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        String[] args = { "-x", "local", "testScript.py"};
-        PigStats stats = PigRunner.run(args, null);
-        assertFalse(stats.isSuccessful());
-        //assertTrue(stats.getErrorCode() == 1121);
-        //assertTrue(stats.getReturnCode() == PigRunner.ReturnCode.PIG_EXCEPTION);   
+
+        runPigRunner("fsTest", script, false);
+
     }
-    
+
     @Test
     public void NegativeTest() throws Exception {
         String[] script = {
@@ -510,15 +499,12 @@ public class TestScriptLanguage {
                 "Pig.fs(\"rmr simple_out\")"
         };
 
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        String[] args = { "-x", "local", "testScript.py"};
-        PigStats stats = PigRunner.run(args, null);
-        assertFalse(stats.isSuccessful());
+        PigStats stats = runPigRunner("NegativeTest", script, false);
+
         assertTrue(stats.getErrorCode() == 1121);
-        assertTrue(stats.getReturnCode() == PigRunner.ReturnCode.PIG_EXCEPTION);        
+        assertTrue(stats.getReturnCode() == PigRunner.ReturnCode.PIG_EXCEPTION);
     }
-   
+
     @Test
     public void NegativeTest2() throws Exception {
         String[] script = {
@@ -527,15 +513,11 @@ public class TestScriptLanguage {
                 "raise 'This is a test'"
         };
 
-        Util.createLocalInputFile( "testScript.py", script);
-        
-        String[] args = { "-x", "local", "testScript.py"};
-        PigStats stats = PigRunner.run(args, null);
-        assertFalse(stats.isSuccessful());
+        PigStats stats = runPigRunner("NegativeTest2", script, false);
         assertTrue(stats.getErrorCode() == 1121);
         assertTrue(stats.getReturnCode() == PigRunner.ReturnCode.PIG_EXCEPTION);
     }
-    
+
     @Test // PIG-2056
     public void NegativeTest3() throws Exception {
         String[] script = {
@@ -548,22 +530,18 @@ public class TestScriptLanguage {
                 "result = P.bind().runSingle()"
         };
 
-        File pyFile = Util.createLocalInputFile( "testScript.py", script);
-        
-        String[] args = { "-x", "local", "testScript.py"};
-        PigStats stats = PigRunner.run(args, null);
-        assertFalse(stats.isSuccessful());
+        PigStats stats = runPigRunner("NegativeTest3", script, false);
         assertTrue(stats.getErrorCode() == 1121);
         assertTrue(stats.getReturnCode() == PigRunner.ReturnCode.PIG_EXCEPTION);
-        
+
         String expected = "Python Error. Traceback (most recent call last):\n" +
-            "  File \"" + pyFile.getAbsolutePath() + "\", line 7";
+            "  File \"";
 
         String msg = stats.getErrorMessage();
         Util.checkErrorMessageContainsExpected(msg, expected);
-        
+
     }
-    
+
     @Test
     public void testFixNonEscapedDollarSign() throws Exception {
         java.lang.reflect.Method fixNonEscapedDollarSign = Class.forName(
@@ -571,31 +549,31 @@ public class TestScriptLanguage {
                 "fixNonEscapedDollarSign", new Class[] { String.class });
 
         fixNonEscapedDollarSign.setAccessible(true);
-        
+
         String s = (String)fixNonEscapedDollarSign.invoke(null, "abc$py$");
         assertEquals("abc\\\\$py\\\\$", s);
 
         s = (String)fixNonEscapedDollarSign.invoke(null, "$abc$py");
         assertEquals("\\\\$abc\\\\$py", s);
-        
+
         s = (String)fixNonEscapedDollarSign.invoke(null, "$");
         assertEquals("\\\\$", s);
-        
+
         s = (String)fixNonEscapedDollarSign.invoke(null, "$$abc");
         assertEquals("\\\\$\\\\$abc", s);
     }
-    
+
     // See PIG-2291
     @Test
     public void testDumpInScript() throws Exception{
-    	
+
     	  String[] script = {
                   "#!/usr/bin/python",
                   "from org.apache.pig.scripting import *",
                   "Pig.fs(\"rmr simple_out\")",
                   "input = 'testDumpInScript_table'",
                   "output = 'simple_out'",
-                  "P = Pig.compileFromFile(\"\"\"testScript.pig\"\"\")",
+                  "P = Pig.compileFromFile(\"\"\"testDumpInScript.pig\"\"\")",
                   "Q = P.bind({'input':input, 'output':output})",
                   "stats = Q.runSingle()",
                   "if stats.isSuccessful():",
@@ -608,54 +586,42 @@ public class TestScriptLanguage {
                 "2\t4",
                 "3\t5"
         };
-        
+
         String[] pigLatin = {
                 "a = load '$input' as (a0:int,a1:int);",
                 "store a into '$output';",
                 "dump a"
         };
-        
+
         Util.createInputFile(cluster, "testDumpInScript_table", input);
-        Util.createLocalInputFile( "testScript.py", script);
-        Util.createLocalInputFile( "testScript.pig", pigLatin);
-        
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
-        Iterator<List<PigStats>> it = statsMap.values().iterator();  
-        PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+        Util.createLocalInputFile( "testDumpInScript.pig", pigLatin);
+        runSimpleScript("testDumpInScript", script);
+
+    }
+
+    // See PIG-2291
+    @Test
+    public void testIllustrateInScript() throws Exception {
+
+        String[] script = { "#!/usr/bin/python",
+                "from org.apache.pig.scripting import *",
+                "Pig.fs(\"rmr simple_out\")",
+                "input = 'testIllustrateInScript_table'",
+                "output = 'simple_out'",
+                "P = Pig.compileFromFile(\"\"\"testIllustrateInScript.pig\"\"\")",
+                "Q = P.bind({'input':input, 'output':output})",
+                "stats = Q.runSingle()", "if stats.isSuccessful():",
+                "\tprint 'success!'", "else:", "\tprint 'failed'" };
+        String[] input = { "1\t3", "2\t4", "3\t5" };
+
+        String[] pigLatin = { "a = load '$input' as (a0:int,a1:int);",
+                "store a into '$output';", "illustrate a" };
+
+        Util.createInputFile(cluster, "testIllustrateInScript_table", input);
+        Util.createLocalInputFile("testIllustrateInScript.pig", pigLatin);
+        runSimpleScript("testIllustrateInScript", script);
     }
 
-	// See PIG-2291
-	@Test
-	public void testIllustrateInScript() throws Exception {
-
-		String[] script = { "#!/usr/bin/python",
-				"from org.apache.pig.scripting import *",
-				"Pig.fs(\"rmr simple_out\")",
-				"input = 'testIllustrateInScript_table'",
-				"output = 'simple_out'",
-				"P = Pig.compileFromFile(\"\"\"testScript.pig\"\"\")",
-				"Q = P.bind({'input':input, 'output':output})",
-				"stats = Q.runSingle()", "if stats.isSuccessful():",
-				"\tprint 'success!'", "else:", "\tprint 'failed'" };
-		String[] input = { "1\t3", "2\t4", "3\t5" };
-
-		String[] pigLatin = { "a = load '$input' as (a0:int,a1:int);",
-				"store a into '$output';", "illustrate a" };
-
-		Util.createInputFile(cluster, "testIllustrateInScript_table", input);
-		Util.createLocalInputFile("testScript.py", script);
-		Util.createLocalInputFile("testScript.pig", pigLatin);
-
-		ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-		Map<String, List<PigStats>> statsMap = scriptEngine.run(
-				pigServer.getPigContext(), "testScript.py");
-		Iterator<List<PigStats>> it = statsMap.values().iterator();
-		PigStats stats = it.next().get(0);
-		assertTrue(stats.isSuccessful());
-	}
-	
     @Test
     public void testPyShouldNotFailScriptIfExitCodeIs0() throws Exception {
         String[] script = {
@@ -667,10 +633,8 @@ public class TestScriptLanguage {
                 "else: sys.exit(0)"
          };
 
-        Util.createLocalInputFile( "testScript.py", script);
-        ScriptEngine scriptEngine = ScriptEngine.getInstance("jython");
-        Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.py");
-        assertEquals(0, statsMap.size());        
+        Map<String, List<PigStats>> statsMap = runScript("testPyShouldNotFailScriptIfExitCodeIs0", script);
+        assertEquals(0, statsMap.size());
 
    }
 

Modified: pig/trunk/test/org/apache/pig/test/TestScriptLanguageJavaScript.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestScriptLanguageJavaScript.java?rev=1404340&r1=1404339&r2=1404340&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestScriptLanguageJavaScript.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestScriptLanguageJavaScript.java Wed Oct 31 20:42:50 2012
@@ -40,10 +40,10 @@ public class TestScriptLanguageJavaScrip
 
     static MiniCluster cluster = MiniCluster.buildCluster();
     private PigServer pigServer;
-    
+
     @BeforeClass
     public static void setUpBeforeClass() throws Exception {
-        
+
     }
 
     @AfterClass
@@ -61,7 +61,7 @@ public class TestScriptLanguageJavaScrip
     public void tearDown() throws Exception {
         Util.deleteFile(pigServer.getPigContext(), "simple_out");
     }
-    
+
     @Test
     public void firstTest() throws Exception {
         String[] script = {
@@ -90,23 +90,23 @@ public class TestScriptLanguageJavaScrip
         Util.deleteFile(pigServer.getPigContext(), "simple_table");
         Util.createInputFile(pigServer.getPigContext(), "simple_table", input);
         Util.createLocalInputFile( "testScript.js", script);
-        
+
         ScriptEngine scriptEngine = ScriptEngine.getInstance("javascript");
         Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "testScript.js");
-        assertEquals(1, statsMap.size());        
-        Iterator<List<PigStats>> it = statsMap.values().iterator();      
+        assertEquals(1, statsMap.size());
+        Iterator<List<PigStats>> it = statsMap.values().iterator();
         PigStats stats = it.next().get(0);
-        assertTrue(stats.isSuccessful());
+        assertTrue("job should succeed", stats.isSuccessful());
         assertEquals(1, stats.getNumberJobs());
         String name = stats.getOutputNames().get(0);
         assertEquals("simple_out", name);
-        
+
         String[] output = Util.readOutput(pigServer.getPigContext(), "simple_out");
         assertTrue(Arrays.toString(input)+" equals "+Arrays.toString(output), Arrays.equals(input, output));
-  
+
     }
-    
-    
+
+
     @Test
     public void testTC() throws Exception {
         String[] input = {
@@ -143,10 +143,10 @@ public class TestScriptLanguageJavaScrip
                 "(id30,[name#a])\t(id31,[name#b])\tMATCH",
                 "(id32,[name#a])"
         };
-        
+
         Util.deleteFile(pigServer.getPigContext(), "simple_table");
         Util.createInputFile(pigServer.getPigContext(), "simple_table", input);
-        
+
         ScriptEngine scriptEngine = ScriptEngine.getInstance("javascript");
         Map<String, List<PigStats>> statsMap = scriptEngine.run(pigServer.getPigContext(), "test/org/apache/pig/test/data/tc.js");
         for (List<PigStats> pigStatsList : statsMap.values()) {
@@ -154,7 +154,7 @@ public class TestScriptLanguageJavaScrip
                 assertTrue(pigStats.getScriptId()+" succesful", pigStats.isSuccessful());
             }
         }
-             
+
     }
 
 }