-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Build failure: PersistentAcceptOnceFileListFilterExternalStoreTests. executionError #2782
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Can share, please, the report mention in those logs as well: file:///Users/e063468/IdeaProjects/spring-integration/spring-integration-file/build/reports/tests/test/index.html ? The error you show is not related to that test case at all... Looks like there is some not closed Anyway, please, report! |
I've just pushed a couple fixes to the Please, consider to pull the latest Thanks |
Sure thing. I pulled down the latest updates, and that cleaned up some of the output--the
Here's a screenshot from that report: When I click on the error: and the stack trace beneath it:
|
Can you also show what is on the I wonder too if you have Redis running locally... |
I don't have Redis running, should I? Here's the
|
Well, how does it work if you have Redis locally on the default port? |
Can you run, please, this |
Wait. What Java version do you use? |
Build successful with Redis running! My java version, since you asked:
Might be helpful to include the Redis requirement in the top level README. Thanks for your help |
The Might be an issue with the JUnit4 emulator in JUnit5. According to your screen shot, it is in something called |
Yes, it fails for me with the same issue when I don't have Redis and run tests from Gradle. Looks like something is wrong with JUnit Jupiter runner for Gradle... |
Interesting; the rule is running ok - I added some dbugging...
|
Right, looks like the problem is with exactly JUnit Platform:
There is similar issue already reported on Gradle: gradle/gradle#8181. But not exactly ours though... /CC @sbrannen |
The Gradle issue on the matter: gradle/gradle#8685. Thank you, @chris-jansson , for catching this one! |
While this should not cause Gradle to fail in this way (let's continue that discussion in gradle/gradle#8685), the rule implementation should be changed to: public final class RedisAvailableRule implements MethodRule {
// ...
public Statement apply(final Statement base, final FrameworkMethod method, Object target) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
RedisAvailable redisAvailable = method.getAnnotation(RedisAvailable.class);
if (redisAvailable != null) {
if (connectionFactory != null) {
try {
connectionFactory.getConnection();
base.evaluate();
}
catch (Exception e) {
Assume.assumeTrue("Skipping test due to Redis not being available on port: " + REDIS_PORT + ": " + e, false);
}
}
}
}
};
}
} This way instead of |
Prior to this commit, `RedisAvailableRule.apply()` threw an `AssumptionViolatedException` when Redis was unavailable. That caused the execution of the current test class and all pending test methods to be stopped immediately. Instead, it now returns a `Statement` that throws the exception in case Redis us unavailable which will only skip the current test. Resolves spring-projects#2782.
I've submitted #2796 to fix this issue. |
Prior to this commit, `RedisAvailableRule.apply()` threw an `AssumptionViolatedException` when Redis was unavailable. That caused the execution of the current test class and all pending test methods to be stopped immediately. Instead, it now returns a `Statement` that throws the exception in case Redis us unavailable which will only skip the current test. Resolves spring-projects#2782.
Good catch, @marcphilipp! 👍 |
Prior to this commit, `RedisAvailableRule.apply()` threw an `AssumptionViolatedException` when Redis was unavailable. That caused the execution of the current test class and all pending test methods to be stopped immediately. Instead, it now returns a `Statement` that throws the exception in case Redis us unavailable which will only skip the current test. Resolves spring-projects#2782.
Prior to this commit, `RedisAvailableRule.apply()` threw an `AssumptionViolatedException` when Redis was unavailable. That caused the execution of the current test class and all pending test methods to be stopped immediately. Instead, it now returns a `Statement` that throws the exception in case Redis is unavailable which will only skip the current test. Resolves spring-projects#2782.
Prior to this commit, `RedisAvailableRule.apply()` threw an `AssumptionViolatedException` when Redis was unavailable. That caused the execution of the current test class and all pending test methods to be stopped immediately. Instead, it now returns a `Statement` that throws the exception in case Redis is unavailable which will only skip the current test. Resolves spring-projects#2782.
Prior to this commit, `RedisAvailableRule.apply()` threw an `AssumptionViolatedException` when Redis was unavailable. That caused the execution of the current test class and all pending test methods to be stopped immediately. Instead, it now returns a `Statement` that throws the exception in case Redis is unavailable which will only skip the current test. Resolves #2782.
Linking this from my Stack Overflow post, at @artembilan's request.
Per his comment, I tried cleaning the project before building, but that didn't change the result.
Environment
macOS 10.13.6
Steps to Reproduce
Result
I would expect to be able to clone and build with no issues, seeing as I haven't changed any files. Any idea what's wrong?
The text was updated successfully, but these errors were encountered: