You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by ka...@apache.org on 2011/06/22 13:36:39 UTC
svn commit: r1138409 - in /db/derby/code/branches/10.8: ./
java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/CompatibilityCombinations.java
Author: kahatlen
Date: Wed Jun 22 11:36:39 2011
New Revision: 1138409
URL: http://svn.apache.org/viewvc?rev=1138409&view=rev
Log:
DERBY-5222: Compatibility tests fail to delete database directory
Merged fix from trunk (revisions 1101059, 1102620, 1103742).
Modified:
db/derby/code/branches/10.8/ (props changed)
db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/CompatibilityCombinations.java
Propchange: db/derby/code/branches/10.8/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jun 22 11:36:39 2011
@@ -1,2 +1,2 @@
/db/derby/code/branches/10.7:1061570,1061578,1082235
-/db/derby/code/trunk:1063809,1088633,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1096741,1096890,1097247,1097249,1097460,1097469,1097471,1101839,1102826,1103681,1103718,1125305,1126358,1127825,1127883,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132860,1132928,1133741,1133752,1136844
+/db/derby/code/trunk:1063809,1088633,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1096741,1096890,1097247,1097249,1097460,1097469,1097471,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1125305,1126358,1127825,1127883,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132860,1132928,1133741,1133752,1136844
Modified: db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/CompatibilityCombinations.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/CompatibilityCombinations.java?rev=1138409&r1=1138408&r2=1138409&view=diff
==============================================================================
--- db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/CompatibilityCombinations.java (original)
+++ db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/junitTests/compatibility/CompatibilityCombinations.java Wed Jun 22 11:36:39 2011
@@ -237,6 +237,9 @@ public class CompatibilityCombinations e
private static boolean includeUpgrade = false;
private static long SLEEP_TIME_MILLIS = 5000L;
+
+ /** The process in which the network server is running. */
+ private Process serverProc;
/**
* Creates a new instance of CompatibilityCombinations
@@ -729,6 +732,7 @@ public class CompatibilityCombinations e
Process proc = Runtime.getRuntime().exec(fullCmd,envElements,workingDir);
PrintWriter out = new PrintWriter(new FileWriter(workingDirName+PS+combinationName));
String result = testOutput(proc, out); // Scans test report for OK and Time...
+ proc.waitFor();
if ( result.indexOf(" OK ") != -1 ) testOK = true;
result= combinationName+":" + result;
summaryFile.println(result);
@@ -1024,12 +1028,11 @@ public class CompatibilityCombinations e
{
public void run()
{
- Process proc = null;
try
{
DEBUG("************** In run().");
- proc = Runtime.getRuntime().exec(fullCmd,envElements,workingDir);
- // proc = Runtime.getRuntime().exec(commandElements,envElements,workingDir);
+ serverProc = Runtime.getRuntime().
+ exec(fullCmd, envElements, workingDir);
DEBUG("************** Done exec().");
}
catch (Exception ex)
@@ -1118,15 +1121,8 @@ public class CompatibilityCombinations e
if ( removeDBfiles )
{
- File databaseDir = new File(fullPath);
- if ( deleteDir(databaseDir) )
- {
- DEBUG("Successfully deleted database dir '" + fullPath +"'");
- }
- else
- {
- DEBUG("Failed deleting database dir '" + fullPath +"'");
- }
+ DEBUG("Deleting database dir '" + fullPath + "'");
+ BaseTestCase.removeDirectory(fullPath);
}
else
{
@@ -1152,9 +1148,8 @@ public class CompatibilityCombinations e
try
{
Process proc = Runtime.getRuntime().exec(fullCmd,envElements,workingDir);
- proc.waitFor();
processDEBUGOutput(proc);
-
+ proc.waitFor();
}
catch (Exception ex)
{
@@ -1275,9 +1270,14 @@ public class CompatibilityCombinations e
);
try
{
+ // Tell the server to stop.
Process proc = Runtime.getRuntime().exec(fullCmd,envElements,workingDir);
processDEBUGOutput(proc);
-
+ proc.waitFor();
+
+ // Now wait for it to actually stop.
+ serverProc.waitFor();
+ serverProc = null;
}
catch (Exception ex)
{
@@ -1348,7 +1348,7 @@ public class CompatibilityCombinations e
{
Process proc = Runtime.getRuntime().exec(fullCmd,envElements,workingDir);
processOutput(proc, out);
-
+ proc.waitFor();
}
catch (Exception ex)
{
@@ -1408,7 +1408,7 @@ public class CompatibilityCombinations e
{
Process proc = Runtime.getRuntime().exec(fullCmd,envElements,workingDir);
processOutput(proc, out);
-
+ proc.waitFor();
}
catch (Exception ex)
{
@@ -1419,25 +1419,6 @@ public class CompatibilityCombinations e
DEBUG("");
}
-
- private static boolean deleteDir(File dir)
- {
- if (dir.isDirectory())
- {
- String[] children = dir.list();
- for (int i=0; i<children.length; i++)
- {
- boolean success = deleteDir(new File(dir, children[i]));
- if (!success)
- {
- return false;
- }
- }
- }
-
- // The directory is now empty so delete it
- return dir.delete();
- }
/////////////////////
private static void processOutput(Process proc, PrintWriter out)