Author: tgraves
Date: Tue Apr 10 22:09:00 2012
New Revision: 1312018
URL: http://svn.apache.org/viewvc?rev=1312018&view=rev
Log:
MAPREDUCE-4108. Fix tests in org.apache.hadoop.util.TestRunJar (Devaraj K via tgraves)
Added:
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/Hello.java
- copied, changed from r1312013, hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/testjar/Hello.java
Removed:
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/testjar/Hello.java
Modified:
hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java
Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1312018&r1=1312017&r2=1312018&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Tue Apr 10 22:09:00 2012
@@ -229,6 +229,9 @@ Release 2.0.0 - UNRELEASED
MAPREDUCE-4076. Stream job fails with ZipException when use yarn jar
command (Devaraj K via bobby)
+
+ MAPREDUCE-4108. Fix tests in org.apache.hadoop.util.TestRunJar
+ (Devaraj K via tgraves)
Release 0.23.3 - UNRELEASED
Copied: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/Hello.java
(from r1312013, hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/testjar/Hello.java)
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/Hello.java?p2=hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/Hello.java&p1=hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/testjar/Hello.java&r1=1312013&r2=1312018&rev=1312018&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/testjar/Hello.java
(original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/Hello.java
Tue Apr 10 22:09:00 2012
@@ -16,25 +16,24 @@
* limitations under the License.
*/
-package testjar;
+package org.apache.hadoop.util;
import java.io.FileOutputStream;
import java.io.IOException;
/**
- * A simple Hello class that is called from TestRunJar
- *
+ * A simple Hello class that is called from TestRunJar
+ *
*/
public class Hello {
- public static void main(String[] args){
+ public static void main(String[] args) {
try {
System.out.println("Creating file" + args[0]);
FileOutputStream fstream = new FileOutputStream(args[0]);
fstream.write("Hello Hadoopers".getBytes());
fstream.close();
- }
- catch (IOException e) {
- //do nothing
+ } catch (IOException e) {
+ // do nothing
}
}
}
Modified: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java?rev=1312018&r1=1312017&r2=1312018&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java
(original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java
Tue Apr 10 22:09:00 2012
@@ -18,34 +18,63 @@
package org.apache.hadoop.util;
+import java.io.BufferedInputStream;
import java.io.File;
-import org.apache.hadoop.fs.Path;
-import org.junit.Ignore;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.jar.JarOutputStream;
+import java.util.zip.ZipEntry;
-import junit.framework.TestCase;
+import org.apache.hadoop.fs.Path;
+import org.junit.Assert;
+import org.junit.Test;
/**
* A test to rest the RunJar class.
*/
-@Ignore
-public class TestRunJar extends TestCase {
-
+public class TestRunJar {
+
private static String TEST_ROOT_DIR = new Path(System.getProperty(
"test.build.data", "/tmp")).toString();
-
+
+ private static final String TEST_JAR_NAME = "testjar.jar";
+ private static final String CLASS_NAME = "Hello.class";
+
+ @Test
public void testRunjar() throws Throwable {
-
- File outFile = new File(TEST_ROOT_DIR, "out");
- // delete if output file already exists.
+ File outFile = new File(TEST_ROOT_DIR, "out");
+ // delete if output file already exists.
if (outFile.exists()) {
outFile.delete();
}
-
+ File makeTestJar = makeTestJar();
+
String[] args = new String[3];
- args[0] = "build/test/mapred/testjar/testjob.jar";
- args[1] = "testjar.Hello";
+ args[0] = makeTestJar.getAbsolutePath();
+ args[1] = "org.apache.hadoop.util.Hello";
args[2] = outFile.toString();
RunJar.main(args);
- assertTrue("RunJar failed", outFile.exists());
+ Assert.assertTrue("RunJar failed", outFile.exists());
+ }
+
+ private File makeTestJar() throws IOException {
+ File jarFile = new File(TEST_ROOT_DIR, TEST_JAR_NAME);
+ JarOutputStream jstream = new JarOutputStream(new FileOutputStream(jarFile));
+ InputStream entryInputStream = this.getClass().getResourceAsStream(
+ CLASS_NAME);
+ ZipEntry entry = new ZipEntry("org/apache/hadoop/util/" + CLASS_NAME);
+ jstream.putNextEntry(entry);
+ BufferedInputStream bufInputStream = new BufferedInputStream(
+ entryInputStream, 2048);
+ int count;
+ byte[] data = new byte[2048];
+ while ((count = bufInputStream.read(data, 0, 2048)) != -1) {
+ jstream.write(data, 0, count);
+ }
+ jstream.closeEntry();
+ jstream.close();
+
+ return jarFile;
}
-}
+}
\ No newline at end of file
|