This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-vfs.git
commit 55fedd59b822ab91b8cc127b8dc67b62302eb7fc Author: Gary Gregory <[email protected]> AuthorDate: Sat Mar 20 18:11:52 2021 -0400 Looking for clues on failing builds on GitHub --- .../org/apache/commons/vfs2/AbstractTestSuite.java | 13 ++++++----- .../vfs2/provider/http/HttpProviderTestCase.java | 2 +- .../sftp/AbstractSftpProviderTestCase.java | 3 ++- .../apache/commons/vfs2/util/NHttpFileServer.java | 26 +++++++++++++--------- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/AbstractTestSuite.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/AbstractTestSuite.java index 5b73084..b14f8d9 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/AbstractTestSuite.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/AbstractTestSuite.java @@ -20,6 +20,7 @@ import java.io.File; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.time.Instant; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; @@ -64,12 +65,12 @@ public abstract class AbstractTestSuite extends TestSetup { private final boolean addEmptyDir; protected AbstractTestSuite(final ProviderTestConfig providerConfig, final String prefix, final boolean nested) - throws Exception { + throws Exception { this(providerConfig, prefix, nested, false); } protected AbstractTestSuite(final ProviderTestConfig providerConfig, final String prefix, final boolean nested, - final boolean addEmptyDir) throws Exception { + final boolean addEmptyDir) throws Exception { super(new TestSuite()); testSuite = (TestSuite) fTest; this.providerConfig = providerConfig; @@ -100,7 +101,7 @@ public abstract class AbstractTestSuite extends TestSetup { // Verify the class if (!AbstractProviderTestCase.class.isAssignableFrom(testClass)) { throw new Exception("Test class " + testClass.getName() + " is not assignable to " - + AbstractProviderTestCase.class.getName()); + + AbstractProviderTestCase.class.getName()); } // Locate the test methods @@ -108,7 +109,7 @@ public abstract class AbstractTestSuite extends TestSetup { for (final Method method2 : methods) { final Method method = method2; if (!method.getName().startsWith("test") || Modifier.isStatic(method.getModifiers()) - || method.getReturnType() != Void.TYPE || method.getParameterTypes().length != 0) { + || method.getReturnType() != Void.TYPE || method.getParameterTypes().length != 0) { continue; } @@ -169,7 +170,7 @@ public abstract class AbstractTestSuite extends TestSetup { // Configure the tests final Enumeration<Test> tests = testSuite.tests(); if (!tests.hasMoreElements()) { - Assert.fail("No tests."); + Assert.fail("No tests."); } while (tests.hasMoreElements()) { final Test test = tests.nextElement(); @@ -242,7 +243,7 @@ public abstract class AbstractTestSuite extends TestSetup { return StringUtils.EMPTY; } final StringBuffer sb = new StringBuffer(256); - sb.append("Threads still running (" + threadSnapshot.length + "): "); + sb.append("Threads still running (" + threadSnapshot.length + ") at " + Instant.now() + ", live threads:"); sb.append(System.lineSeparator()); Field threadTargetField = null; diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/HttpProviderTestCase.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/HttpProviderTestCase.java index 0289360..93114c8 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/HttpProviderTestCase.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/http/HttpProviderTestCase.java @@ -106,7 +106,7 @@ public class HttpProviderTestCase extends AbstractProviderTestConfig { */ private static void tearDownClass() throws InterruptedException { if (Server != null) { - Server.shutdown(5000, TimeUnit.SECONDS); + Server.close(); } } diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java index b87e790..9392379 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/provider/sftp/AbstractSftpProviderTestCase.java @@ -31,6 +31,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.AbstractVfsTestCase; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.vfs2.AbstractProviderTestConfig; import org.apache.commons.vfs2.FileObject; import org.apache.commons.vfs2.FileSystemManager; @@ -204,7 +205,7 @@ abstract class AbstractSftpProviderTestCase extends AbstractProviderTestConfig { } }); Server.setSubsystemFactories(list); - Server.setPasswordAuthenticator((username, password, session) -> username != null && username.equals(password)); + Server.setPasswordAuthenticator((username, password, session) -> StringUtils.equals(username, password)); Server.setPublickeyAuthenticator((username, key, session) -> true); Server.setForwardingFilter(new ForwardingFilter() { @Override diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/NHttpFileServer.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/NHttpFileServer.java index 99f26b2..3e1a755 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/NHttpFileServer.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/util/NHttpFileServer.java @@ -71,6 +71,7 @@ import org.apache.hc.core5.http.protocol.HttpCoreContext; import org.apache.hc.core5.http.protocol.HttpDateGenerator; import org.apache.hc.core5.io.CloseMode; import org.apache.hc.core5.reactor.IOReactorConfig; +import org.apache.hc.core5.reactor.IOReactorStatus; import org.apache.hc.core5.reactor.ListenerEndpoint; import org.apache.hc.core5.ssl.SSLContexts; import org.apache.hc.core5.util.TimeValue; @@ -111,18 +112,14 @@ public class NHttpFileServer { final String msg = "File " + file.getPath() + " not found"; println(msg); - responseTrigger.submitResponse( - AsyncResponseBuilder.create(HttpStatus.SC_NOT_FOUND) - .setEntity("<html><body><h1>" + msg + "</h1></body></html>", mimeType).build(), - context); + responseTrigger.submitResponse(AsyncResponseBuilder.create(HttpStatus.SC_NOT_FOUND) + .setEntity("<html><body><h1>" + msg + "</h1></body></html>", mimeType).build(), context); } else if (!file.canRead()) { final String msg = "Cannot read file " + file.getPath(); println(msg); - responseTrigger.submitResponse( - AsyncResponseBuilder.create(HttpStatus.SC_FORBIDDEN) - .setEntity("<html><body><h1>" + msg + "</h1></body></html>", mimeType).build(), - context); + responseTrigger.submitResponse(AsyncResponseBuilder.create(HttpStatus.SC_FORBIDDEN) + .setEntity("<html><body><h1>" + msg + "</h1></body></html>", mimeType).build(), context); } else { @@ -252,9 +249,9 @@ public class NHttpFileServer { Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { - println("HTTP server shutting down"); - server.close(CloseMode.GRACEFUL); + close(); } + }); server.start(); @@ -266,4 +263,13 @@ public class NHttpFileServer { return this; } + public void close() { + if (server.getStatus() == IOReactorStatus.ACTIVE) { + final CloseMode closeMode = CloseMode.GRACEFUL; + println("HTTP server shutting down (closeMode=" + closeMode + ")..."); + server.close(closeMode); + println("HTTP server shut down."); + } + } + }
