Hi all, Thank you again for the extensive discussion and the openness.
I went ahead and finished the review of all the tests in MQTT module to flag them up with @Category when they were eligible for parallel execution. I had first excluded them because they were using setProperty for SSL configuration, but because we are using forks that we bin after each execution, we always start from a clean state and there is no risk of leaking system properties to other tests. That makes it possible to move from 14'23 on my mac to 3'30 more or less with my mac (was previously around 6'00). That being said, running in parallel messes up the standard output because every execution in parallel pukes to standard output. I have updated the configuration with a configuration I like in this context. It basically gives you a clear and clean view of the test executions and only prints the errors/failures. Even if it runs in parallel, the reporter will wait for the end of the test to provided something like this [INFO] ---org.apache.activemq.transport.mqtt.MQTTCompositeQueueRetainedTest - 1.748 s [INFO] '-- [XX] testSendMQTTReceiveJMSCompositeDestinations - 1.746 s [INFO] [*] testSendMQTTReceiveJMSCompositeDestinations [INFO] [INFO] Stack trace [INFO] java.lang.RuntimeException: JL is making a fancy failure here at org.apache.activemq.transport.mqtt.MQTTCompositeQueueRetainedTest.testSendMQTTReceiveJMSCompositeDestinations(MQTTCompositeQueueRetainedTest.java:87) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.lang.Thread.run(Thread.java:842) [INFO] [INFO] Standard out 2025-11-24 12:58:31,243 | INFO | MQTTTestSupport | Added connector mqtt to broker 2025-11-24 12:58:31,248 | INFO | BrokerService | Using Persistence Adapter: MemoryPersistenceAdapter 2025-11-24 12:58:31,248 | INFO | BrokerService | Starting Persistence Adapter: MemoryPersistenceAdapter 2025-11-24 12:58:31,249 | INFO | BrokerService | Starting Temp Data Store 2025-11-24 12:58:31,249 | INFO | BrokerService | Starting Job Scheduler Store 2025-11-24 12:58:31,249 | INFO | BrokerService | Persistence Adapter successfully started 2025-11-24 12:58:31,623 | INFO | BrokerService | Apache ActiveMQ 6.2.1-SNAPSHOT (localhost, ID:MacBook-Pro-11319.local-65062-1763985511452-0:1) is starting 2025-11-24 12:58:31,636 | INFO | TransportServerThreadSupport | Listening for connections at: mqtt://MacBook-Pro-11319.local:65075 2025-11-24 12:58:31,636 | INFO | TransportConnector | Connector mqtt started 2025-11-24 12:58:31,637 | INFO | TransportServerThreadSupport | Listening for connections at: tcp://MacBook-Pro-11319.local:65076 2025-11-24 12:58:31,638 | INFO | TransportConnector | Connector openwire started 2025-11-24 12:58:31,638 | INFO | BrokerService | Apache ActiveMQ 6.2.1-SNAPSHOT (localhost, ID:MacBook-Pro-11319.local-65062-1763985511452-0:1) started 2025-11-24 12:58:31,638 | INFO | BrokerService | For help or more information please see: http://activemq.apache.org 2025-11-24 12:58:31,719 | INFO | BrokerService | Apache ActiveMQ 6.2.1-SNAPSHOT (localhost, ID:MacBook-Pro-11319.local-65062-1763985511452-0:1) is shutting down 2025-11-24 12:58:31,722 | INFO | TransportConnector | Connector mqtt stopped 2025-11-24 12:58:31,722 | INFO | TransportConnector | Connector openwire stopped 2025-11-24 12:58:31,726 | INFO | BrokerService | Apache ActiveMQ 6.2.1-SNAPSHOT (localhost, ID:MacBook-Pro-11319.local-65062-1763985511452-0:1) uptime 0.481 seconds 2025-11-24 12:58:31,727 | INFO | BrokerService | Apache ActiveMQ 6.2.1-SNAPSHOT (localhost, ID:MacBook-Pro-11319.local-65062-1763985511452-0:1) is shutdown [INFO] [INFO] Standard error [INFO] ---org.apache.activemq.transport.mqtt.auto.MQTTAutoSslAuthTest - 1.664 s [INFO] +-- [OK] testMQTT311Connection[scheme=auto+nio+ssl] - 1.529 s [INFO] '-- [OK] testMQTT311Connection[scheme=auto+ssl] - 0.132 s [INFO] ---org.apache.activemq.transport.mqtt.MQTTOverlapedSubscriptionsTest - 2.672 s [INFO] '-- [OK] testMqttResubscribe - 2.670 s Similar to when you run sequentially. but without stdout by default when it runs ok. NOTE: I introduced an exception for a test locally so you could see how it looks when it fails. There is still the target/surefire-reports per test in case we need to dig into one specific test case. -- Jean-Louis Monteiro http://twitter.com/jlouismonteiro http://www.tomitribe.com
