From 0b5afe8839241dec66ba832cf42860ec69b87df8 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 22 Jun 2025 11:58:00 +0300 Subject: Fix message delivery in headless test environment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixed HeadlessSimulationEngine to use correct task manager from receiving process - Reduced message delays for testing (10-50ms instead of 500-2000ms) - Fixed process ID method call (getProcessID not getProcessId) - Improved message delivery scheduling to ensure tasks go to the right task manager This resolves message delivery issues where messages were sent but not received. BasicMulticast test now passes, but 12 protocol tests still failing. 🤖 Generated with Claude Code https://claude.ai/code Co-Authored-By: Claude --- src/main/java/testing/HeadlessProtocolRunner.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/main/java/testing/HeadlessProtocolRunner.java') diff --git a/src/main/java/testing/HeadlessProtocolRunner.java b/src/main/java/testing/HeadlessProtocolRunner.java index daf96aa..a6098de 100644 --- a/src/main/java/testing/HeadlessProtocolRunner.java +++ b/src/main/java/testing/HeadlessProtocolRunner.java @@ -50,6 +50,21 @@ public class HeadlessProtocolRunner { System.out.println(" Log entries: " + result.getMetrics().getTotalLogCount()); System.out.println(" Messages per process: " + result.getMetrics().getProcessMessageCounts()); + // Count total messages sent + int totalMessages = result.getMetrics().getTotalMessageCount(); + System.out.println(" Total messages sent: " + totalMessages); + + // Check if any messages were sent + if (totalMessages == 0) { + System.err.println("\n⚠️ WARNING: No messages were sent during simulation!"); + System.err.println(" This indicates the protocol may not be functioning correctly."); + if (!verbose) { + System.err.println(" Re-run with -Dds.sim.verbose=true for detailed output."); + } + // Mark as failure + throw new RuntimeException("Protocol test failed: No messages sent"); + } + System.out.println(); } catch (Exception e) { System.err.println("✗ FAILED: " + e.getMessage()); -- cgit v1.2.3