The new logging tests assert that when you create a Cache, there are no
WARN log statements being logged.

Unfortunately, src/tests (unit tests) is in the classpath of integration
tests (CacheWithCustomLogConfigIntegrationTest is an integration test).
Apparently springshell gets kicked on when we create a cache, it finds
org.apache.geode.management.internal.cli.CommandManagerJUnitTest$MockPluginCommand
because it's annotated as a springshell Command and then Spring logs this:

[Logger=org.apache.geode Level=WARN Message=(tid=25 msgId=0) Could not load
plugin command: org.springframework.shell.core.CommandMarker: Provider
org.apache.geode.management.internal.cli.CommandManagerJUnitTest$MockPluginCommand
not found]

My test is NOT logging that, Spring is. So how do we fix this? Should I try
to ignore WARN log statements in my logging tests that involve Spring?

org.apache.geode.internal.logging.log4j.CacheWithCustomLogConfigIntegrationTest
> cacheLogWriterInfoMessageIsSuppressed FAILED
    java.lang.AssertionError:
    Expecting empty but was:<[Logger=org.apache.geode Level=WARN
Message=(tid=25 msgId=0) Could not load plugin command:
org.springframework.shell.core.CommandMarker: Provider
org.apache.geode.management.internal.cli.CommandManagerJUnitTest$MockPluginCommand
not found]>
        at
org.apache.geode.internal.logging.log4j.CacheWithCustomLogConfigIntegrationTest.cacheLogWriterInfoMessageIsSuppressed(CacheWithCustomLogConfigIntegrationTest.java:134)

Reply via email to