You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sj...@apache.org on 2008/08/20 10:18:48 UTC
svn commit: r687281 - in
/harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests:
ArchiveTest.java SegmentTest.java
Author: sjanuary
Date: Wed Aug 20 01:18:47 2008
New Revision: 687281
URL: http://svn.apache.org/viewvc?rev=687281&view=rev
Log:
Fix pack200 tests to do the right thing for different versions of javap
Modified:
harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/ArchiveTest.java
harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/SegmentTest.java
Modified: harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/ArchiveTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/ArchiveTest.java?rev=687281&r1=687280&r2=687281&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/ArchiveTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/ArchiveTest.java Wed Aug 20 01:18:47 2008
@@ -73,7 +73,7 @@
.getJarEntry("bin/test/org/apache/harmony/sql/tests/javax/sql/rowset/BaseRowSetTest$BaseRowSetImpl.class");
assertNotNull(entry);
try {
- Process process2 = Runtime
+ Process process2 = Runtime
.getRuntime()
.exec(
"javap -c -verbose -classpath "
@@ -87,19 +87,20 @@
.getResourceAsStream("/org/apache/harmony/pack200/tests/sqlJavap.out");
BufferedReader reader2 = new BufferedReader(new InputStreamReader(
javapCompareFile));
- String line1 = reader1.readLine();
- String line2 = reader2.readLine();
+ String line1 = readNextLine(reader1);
+ String line2 = readNextLine(reader2);
int i = 1;
while (line1 != null || line2 != null) {
assertEquals(line2, line1);
- line1 = reader1.readLine();
- line2 = reader2.readLine();
+ line1 = readNextLine(reader1);
+ line2 = readNextLine(reader2);
i++;
}
reader1.close();
reader2.close();
} catch (IOException e) {
- if(e.getMessage().startsWith("Unable to start program")) {
+ String message = e.getMessage();
+ if (message.startsWith("Unable to start program") || message.startsWith("The creation of the Process has just failed")) {
System.out.println("Warning: org.apache.harmony.unpack200.tests.ArchiveTest.testWithSql() was not completed as javap could not be found");
} else {
throw e;
@@ -107,6 +108,14 @@
}
}
+ private String readNextLine(BufferedReader reader) throws IOException {
+ String line = reader.readLine();
+ while ("".equals(line)) {
+ line = reader.readLine();
+ }
+ return line;
+ }
+
// Test with an archive containing Harmony's Pack200 module, packed with -E1
public void testWithPack200E1() throws Exception {
in = Archive.class
@@ -184,7 +193,7 @@
} catch (IOException e) {
e.printStackTrace();
}
-// file.delete();
+ file.delete();
}
}
\ No newline at end of file
Modified: harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/SegmentTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/SegmentTest.java?rev=687281&r1=687280&r2=687281&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/SegmentTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/pack200/src/test/java/org/apache/harmony/unpack200/tests/SegmentTest.java Wed Aug 20 01:18:47 2008
@@ -90,7 +90,7 @@
JarEntry entry = jarFile
.getJarEntry("org/apache/harmony/archive/tests/internal/pack200/HelloWorld.class");
assertNotNull(entry);
-
+
try {
Process process = Runtime
.getRuntime()
@@ -104,7 +104,7 @@
String line = reader.readLine();
assertEquals("Hello world", line);
reader.close();
-
+
Process process2 = Runtime
.getRuntime()
.exec(
@@ -118,19 +118,20 @@
.getResourceAsStream("/org/apache/harmony/pack200/tests/HelloWorldJavap.out");
BufferedReader reader2 = new BufferedReader(new InputStreamReader(
javapCompareFile));
- String line1 = reader1.readLine();
- String line2 = reader2.readLine();
+ String line1 = readNextLine(reader1);
+ String line2 = readNextLine(reader2);
int i = 1;
while (line1 != null || line2 != null) {
assertEquals(line2, line1);
- line1 = reader1.readLine();
- line2 = reader2.readLine();
+ line1 = readNextLine(reader1);
+ line2 = readNextLine(reader2);
i++;
}
reader1.close();
reader2.close();
} catch (IOException e) {
- if (e.getMessage().startsWith("Unable to start program")) {
+ String message = e.getMessage();
+ if (message.startsWith("Unable to start program") || message.startsWith("The creation of the Process has just failed")) {
System.out.println("Warning: org.apache.harmony.unpack200.tests.SegmentTest.testHelloWorld() was not completed as java or javap could not be found");
} else {
throw e;
@@ -138,4 +139,12 @@
}
}
+ private String readNextLine(BufferedReader reader) throws IOException {
+ String line = reader.readLine();
+ while ("".equals(line)) {
+ line = reader.readLine();
+ }
+ return line;
+ }
+
}