You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by rg...@apache.org on 2015/12/06 21:30:07 UTC
svn commit: r1718212 - in /zookeeper/trunk: ./
src/java/systest/org/apache/zookeeper/test/system/
src/java/test/org/apache/zookeeper/server/quorum/
src/java/test/org/apache/zookeeper/test/
Author: rgs
Date: Sun Dec 6 20:30:07 2015
New Revision: 1718212
URL: http://svn.apache.org/viewvc?rev=1718212&view=rev
Log:
ZOOKEEPER-2306: Remove file delete duplicate code from test code
(Arshad Mohammad via rgs)
Added:
zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TestUtils.java
Modified:
zookeeper/trunk/CHANGES.txt
zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java
zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/LearnerTest.java
zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java
zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java
Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1718212&r1=1718211&r2=1718212&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Sun Dec 6 20:30:07 2015
@@ -327,6 +327,9 @@ IMPROVEMENTS:
ZOOKEEPER-2335: Java Compilation Error in ClientCnxn.java
(Arshad Mohammad via rgs)
+ ZOOKEEPER-2306: Remove file delete duplicate code from test code
+ (Arshad Mohammad via rgs)
+
Release 3.5.0 - 8/4/2014
NEW FEATURES:
Modified: zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java?rev=1718212&r1=1718211&r2=1718212&view=diff
==============================================================================
--- zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java (original)
+++ zookeeper/trunk/src/java/systest/org/apache/zookeeper/test/system/QuorumPeerInstance.java Sun Dec 6 20:30:07 2015
@@ -33,6 +33,7 @@ import org.slf4j.LoggerFactory;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.server.quorum.QuorumPeer;
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
+import org.apache.zookeeper.test.TestUtils;
class QuorumPeerInstance implements Instance {
final private static Logger LOG = LoggerFactory.getLogger(QuorumPeerInstance.class);
@@ -208,17 +209,6 @@ class QuorumPeerInstance implements Inst
public void start() {
}
-
- static private void recursiveDelete(File dir) {
- if (!dir.isDirectory()) {
- dir.delete();
- return;
- }
- for(File f: dir.listFiles()) {
- recursiveDelete(f);
- }
- dir.delete();
- }
public void stop() {
if (LOG.isDebugEnabled()) {
@@ -228,10 +218,10 @@ class QuorumPeerInstance implements Inst
peer.shutdown();
}
if (logDir != null) {
- recursiveDelete(logDir);
+ TestUtils.deleteFileRecursively(logDir);
}
if (snapDir != null) {
- recursiveDelete(snapDir);
+ TestUtils.deleteFileRecursively(snapDir);
}
}
Modified: zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/LearnerTest.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/LearnerTest.java?rev=1718212&r1=1718211&r2=1718212&view=diff
==============================================================================
--- zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/LearnerTest.java (original)
+++ zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/LearnerTest.java Sun Dec 6 20:30:07 2015
@@ -35,6 +35,7 @@ import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.server.ZKDatabase;
import org.apache.zookeeper.server.persistence.FileTxnSnapLog;
+import org.apache.zookeeper.test.TestUtils;
import org.apache.zookeeper.txn.CreateTxn;
import org.apache.zookeeper.txn.TxnHeader;
import org.junit.Assert;
@@ -66,18 +67,6 @@ public class LearnerTest extends ZKTestC
}
}
- static private void recursiveDelete(File dir) {
- if (dir == null || !dir.exists()) {
- return;
- }
- if (!dir.isDirectory()) {
- dir.delete();
- }
- for (File child : dir.listFiles()) {
- recursiveDelete(child);
- }
- }
-
static class TimeoutLearner extends Learner {
int passSocketConnectOnAttempt = 10;
int socketConnectAttempt = 0;
@@ -193,7 +182,7 @@ public class LearnerTest extends ZKTestC
sl = new SimpleLearner(ftsl);
Assert.assertEquals(startZxid, sl.zk.getLastProcessedZxid());
} finally {
- recursiveDelete(tmpFile);
+ TestUtils.deleteFileRecursively(tmpFile);
}
}
}
Modified: zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java?rev=1718212&r1=1718211&r2=1718212&view=diff
==============================================================================
--- zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java (original)
+++ zookeeper/trunk/src/java/test/org/apache/zookeeper/server/quorum/Zab1_0Test.java Sun Dec 6 20:30:07 2015
@@ -28,7 +28,6 @@ import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.EOFException;
-import java.lang.reflect.Field;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
@@ -58,6 +57,7 @@ import org.apache.zookeeper.server.persi
import org.apache.zookeeper.server.quorum.QuorumPeer.QuorumServer;
import org.apache.zookeeper.server.quorum.flexible.QuorumMaj;
import org.apache.zookeeper.server.util.ZxidUtils;
+import org.apache.zookeeper.test.TestUtils;
import org.apache.zookeeper.txn.CreateSessionTxn;
import org.apache.zookeeper.txn.CreateTxn;
import org.apache.zookeeper.txn.ErrorTxn;
@@ -67,7 +67,6 @@ import org.apache.zookeeper.ZKTestCase;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import org.apache.zookeeper.server.quorum.flexible.QuorumVerifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -188,7 +187,7 @@ public class Zab1_0Test extends ZKTestCa
if (leader != null) {
leader.shutdown("end of test");
}
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -240,7 +239,7 @@ public class Zab1_0Test extends ZKTestCa
leadThread.interrupt();
leadThread.join();
}
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -277,7 +276,7 @@ public class Zab1_0Test extends ZKTestCa
if (leader != null) {
leader.shutdown("end of test");
}
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -399,7 +398,7 @@ public class Zab1_0Test extends ZKTestCa
leadThread.interrupt();
leadThread.join();
}
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -468,7 +467,7 @@ public class Zab1_0Test extends ZKTestCa
leadThread.interrupt();
leadThread.join();
}
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -521,7 +520,7 @@ public class Zab1_0Test extends ZKTestCa
if (peer != null) {
peer.shutdown();
}
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -572,7 +571,7 @@ public class Zab1_0Test extends ZKTestCa
if (peer != null) {
peer.shutdown();
}
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -748,7 +747,7 @@ public class Zab1_0Test extends ZKTestCa
Assert.assertEquals("data2", new String(zkDb2.getData("/foo", stat, null)));
Assert.assertEquals(proposalZxid, lastZxid);
} finally {
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -853,7 +852,7 @@ public class Zab1_0Test extends ZKTestCa
LOG.info("zkdb2 sessions:" + zkDb2.getSessions());
Assert.assertNotNull(zkDb2.getSessionWithTimeOuts().get(4L));
} finally {
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -1127,7 +1126,7 @@ public class Zab1_0Test extends ZKTestCa
Assert.assertEquals("data2", new String(zkDb2.getData("/foo2", stat, null)));
Assert.assertEquals(informZxid, lastZxid);
} finally {
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
@@ -1216,21 +1215,6 @@ public class Zab1_0Test extends ZKTestCa
});
}
- private void recursiveDelete(File file) {
- if (file.isFile()) {
- file.delete();
- } else {
- // might return null if deleted out from under us...
- File[] files = file.listFiles();
- if (files != null) {
- for(File c: files) {
- recursiveDelete(c);
- }
- }
- file.delete();
- }
- }
-
private Leader createLeader(File tmpDir, QuorumPeer peer)
throws IOException, NoSuchFieldException, IllegalAccessException{
LeaderZooKeeperServer zk = prepareLeader(tmpDir, peer);
@@ -1371,7 +1355,7 @@ public class Zab1_0Test extends ZKTestCa
.parseInt(readContentsOfFile(new File(version2,
QuorumPeer.ACCEPTED_EPOCH_FILENAME))));
} finally {
- recursiveDelete(tmpDir);
+ TestUtils.deleteFileRecursively(tmpDir);
}
}
}
Modified: zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java?rev=1718212&r1=1718211&r2=1718212&view=diff
==============================================================================
--- zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java (original)
+++ zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ClientBase.java Sun Dec 6 20:30:07 2015
@@ -573,13 +573,7 @@ public abstract class ClientBase extends
}
public static boolean recursiveDelete(File d) {
- if (d.isDirectory()) {
- File children[] = d.listFiles();
- for (File f : children) {
- Assert.assertTrue("delete " + f.toString(), recursiveDelete(f));
- }
- }
- return d.delete();
+ return TestUtils.deleteFileRecursively(d, true);
}
public static void logAllStackTraces() {
Added: zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TestUtils.java
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TestUtils.java?rev=1718212&view=auto
==============================================================================
--- zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TestUtils.java (added)
+++ zookeeper/trunk/src/java/test/org/apache/zookeeper/test/TestUtils.java Sun Dec 6 20:30:07 2015
@@ -0,0 +1,60 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.zookeeper.test;
+
+import java.io.File;
+
+import org.junit.Assert;
+
+/**
+ * This class contains test utility methods
+ */
+public class TestUtils {
+
+ /**
+ * deletes a folder recursively
+ *
+ * @param file
+ * folder to be deleted
+ * @param failOnError
+ * if true file deletion success is ensured
+ */
+ public static boolean deleteFileRecursively(File file,
+ final boolean failOnError) {
+ if (file != null) {
+ if (file.isDirectory()) {
+ File[] files = file.listFiles();
+ int size = files.length;
+ for (int i = 0; i < size; i++) {
+ File f = files[i];
+ boolean deleted = deleteFileRecursively(files[i], failOnError);
+ if(!deleted && failOnError)
+ {
+ Assert.fail("file '" + f.getAbsolutePath()+"' deletion failed");
+ }
+ }
+ }
+ return file.delete();
+ }
+ return true;
+ }
+
+ public static boolean deleteFileRecursively(File file) {
+ return deleteFileRecursively(file, false);
+ }
+}