You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/03/20 22:13:09 UTC
[commons-vfs] 02/04: Looking for clues on failing builds on GitHub
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 <ga...@gmail.com>
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.");
+ }
+ }
+
}