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());
}
}
-
+
}
}