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.");
+        }
+    }
+
 }

Reply via email to