Return-Path: X-Original-To: apmail-subversion-commits-archive@minotaur.apache.org Delivered-To: apmail-subversion-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 07B1D17269 for ; Fri, 3 Apr 2015 17:57:26 +0000 (UTC) Received: (qmail 92837 invoked by uid 500); 3 Apr 2015 17:57:25 -0000 Delivered-To: apmail-subversion-commits-archive@subversion.apache.org Received: (qmail 92810 invoked by uid 500); 3 Apr 2015 17:57:25 -0000 Mailing-List: contact commits-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@subversion.apache.org Delivered-To: mailing list commits@subversion.apache.org Received: (qmail 92800 invoked by uid 99); 3 Apr 2015 17:57:25 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Apr 2015 17:57:25 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id BD71EAC012B for ; Fri, 3 Apr 2015 17:57:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1671113 - in /subversion/trunk: ./ subversion/bindings/javahl/tests/org/apache/subversion/javahl/ subversion/bindings/javahl/tests/org/tigris/subversion/javahl/ Date: Fri, 03 Apr 2015 17:57:25 -0000 To: commits@subversion.apache.org From: brane@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150403175725.BD71EAC012B@hades.apache.org> Author: brane Date: Fri Apr 3 17:57:25 2015 New Revision: 1671113 URL: http://svn.apache.org/r1671113 Log: Teach the JavaHL tests to optionally clean up after themselves when given the JAVAHL_CLEAN option on the make command line (or with the system property test.cleanup set to a non-empty string). * Makefile.in (check-tigris-javahl, check-apavhe-javahl, check-deprecated-authn-javahl): Define the test.cleanup property when running JavaHL tests. [in subversion/bindings/javahl/tests] * org/apache/subversion/javahl/SVNTests.java (SVNTest.cleanupAfterTests, SVNTest.testDirs): New fields. (SVNTest.init): Initialize SVNTest.cleanupAfterTests from properties. (SVNTest.tearDown): Optionally remove test directories. (SVNTest.trackDir): New. (SVNTest.OneTest.createInitialRepository, SVNTest.OneTest.createInitialWorkingCopy): Track created directories. * org/apache/subversion/javahl/SVNRemoteTests.java, * org/apache/subversion/javahl/SVNReposTests.java, * org/tigris/subversion/javahl/SVNAdminTests.java: (.testName): Declare the base name for test directories. (.): Call init(). (.init): Initialize the global test name. Modified: subversion/trunk/Makefile.in subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNAdminTests.java Modified: subversion/trunk/Makefile.in URL: http://svn.apache.org/viewvc/subversion/trunk/Makefile.in?rev=1671113&r1=1671112&r2=1671113&view=diff ============================================================================== --- subversion/trunk/Makefile.in (original) +++ subversion/trunk/Makefile.in Fri Apr 3 17:57:25 2015 @@ -498,17 +498,17 @@ clean-javahl: check-tigris-javahl: javahl-compat @FIX_JAVAHL_LIB@ $(TEST_SHLIB_VAR_JAVAHL) \ - $(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_compat_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests + $(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_compat_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.cleanup=$(JAVAHL_CLEANUP)" "-Dtest.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests check-apache-javahl: javahl @FIX_JAVAHL_LIB@ $(TEST_SHLIB_VAR_JAVAHL) \ - $(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests + $(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.cleanup=$(JAVAHL_CLEANUP)" "-Dtest.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests check-deprecated-authn-javahl: javahl @FIX_JAVAHL_LIB@ $(TEST_SHLIB_VAR_JAVAHL) \ - $(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.tests=$(JAVAHL_TESTS)" "-Dtest.authn.deprecated=true" org.apache.subversion.javahl.RunTests + $(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.cleanup=$(JAVAHL_CLEANUP)" "-Dtest.tests=$(JAVAHL_TESTS)" "-Dtest.authn.deprecated=true" org.apache.subversion.javahl.RunTests check-javahl: check-apache-javahl Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java?rev=1671113&r1=1671112&r2=1671113&view=diff ============================================================================== --- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java (original) +++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNRemoteTests.java Fri Apr 3 17:57:25 2015 @@ -53,15 +53,35 @@ import java.security.NoSuchAlgorithmExce */ public class SVNRemoteTests extends SVNTests { + /** + * Base name of all our tests. + */ + public final static String testName = "remote_test"; + protected OneTest thisTest; public SVNRemoteTests() { + init(); } public SVNRemoteTests(String name) { super(name); + init(); + } + + /** + * Initialize the testBaseName and the testCounter, if this is the + * first test of this class. + */ + private void init() + { + if (!testName.equals(testBaseName)) + { + testCounter = 0; + testBaseName = testName; + } } protected void setUp() throws Exception Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java?rev=1671113&r1=1671112&r2=1671113&view=diff ============================================================================== --- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java (original) +++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNReposTests.java Fri Apr 3 17:57:25 2015 @@ -40,13 +40,33 @@ import java.util.Map; */ public class SVNReposTests extends SVNTests { + /** + * Base name of all our tests. + */ + public final static String testName = "repos_test"; + public SVNReposTests() { + init(); } public SVNReposTests(String name) { super(name); + init(); + } + + /** + * Initialize the testBaseName and the testCounter, if this is the + * first test of this class. + */ + private void init() + { + if (!testName.equals(testBaseName)) + { + testCounter = 0; + testBaseName = testName; + } } /** Modified: subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java?rev=1671113&r1=1671112&r2=1671113&view=diff ============================================================================== --- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java (original) +++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java Fri Apr 3 17:57:25 2015 @@ -80,6 +80,17 @@ class SVNTests extends TestCase protected static int testCounter; /** + * Set to true if tests should clean up after themselves. + */ + protected boolean cleanupAfterTests = false; + + /** + * this list contains the names of all repository and working copy + * directories created by one test case. + */ + protected static List testDirs; + + /** * the file in which the sample repository has been dumped. */ protected File greekDump; @@ -173,6 +184,10 @@ class SVNTests extends TestCase private void init() { + String cleanupProp = System.getProperty("test.cleanup"); + if (cleanupProp != null) + cleanupAfterTests = (0 < cleanupProp.trim().length()); + String disableCredStore = System.getProperty("test.disablecredstore"); if (disableCredStore != null) { @@ -510,6 +525,16 @@ class SVNTests extends TestCase client.dispose(); // remove the temporary directory removeDirOrFile(localTmp); + + // optionally remove the test directories + List td = testDirs; + testDirs = null; + if (cleanupAfterTests && td != null) + { + for(File f: td) + removeDirOrFile(f); + } + super.tearDown(); } @@ -788,6 +813,13 @@ class SVNTests extends TestCase return wc; } + private void trackDir(File dir) + { + if (testDirs == null) + testDirs = new ArrayList(); + testDirs.add(dir); + } + /** * Create the repository for the beginning of the test. * Assumes that {@link #testName} has been set. @@ -804,6 +836,7 @@ class SVNTests extends TestCase // build a clean repository directory File repos = new File(repositories, this.testName); removeDirOrFile(repos); + trackDir(repos); // create and load the repository from the default repository dump admin.create(repos, true, false, conf, fsType); if (loadGreek) @@ -829,6 +862,7 @@ class SVNTests extends TestCase URI uri = makeReposUrl(repos); workingCopy = new File(workingCopies, this.testName); removeDirOrFile(workingCopy); + trackDir(workingCopy); // checkout the repository client.checkout(uri.toString(), workingCopy.getAbsolutePath(), null, null, Depth.infinity, false, false); Modified: subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNAdminTests.java URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNAdminTests.java?rev=1671113&r1=1671112&r2=1671113&view=diff ============================================================================== --- subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNAdminTests.java (original) +++ subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/SVNAdminTests.java Fri Apr 3 17:57:25 2015 @@ -35,13 +35,33 @@ import org.tigris.subversion.javahl.Subv */ public class SVNAdminTests extends SVNTests { + /** + * Base name of all our tests. + */ + public final static String testName = "admin_test"; + public SVNAdminTests() { + init(); } public SVNAdminTests(String name) { super(name); + init(); + } + + /** + * Initialize the testBaseName and the testCounter, if this is the + * first test of this class. + */ + private void init() + { + if (!testName.equals(testBaseName)) + { + testCounter = 0; + testBaseName = testName; + } } /**