|
| 1 | +# Testing Plan & Session Summary |
| 2 | + |
| 3 | +## Recent Work Completed |
| 4 | +1. **Fixed Network Event Propagation**: |
| 5 | + * Diagnosed and fixed `UncheckedTimeoutException` in `MTETwoClientChatTest`. |
| 6 | + * Root cause: `EventSystemImpl` was not being wrapped with `NetworkEventSystemDecorator` in the MTE initialization, causing network events to be treated as local. |
| 7 | + * Fix: Updated `EntitySystemSetupUtil.java` to use `NetworkEventSystemDecorator` when networking is enabled. |
| 8 | + * Verified: `MTETwoClientChatTest` now passes. |
| 9 | + |
| 10 | +2. **Code Coverage Analysis (JaCoCo)**: |
| 11 | + * Integrated JaCoCo into `common.gradle` and `engine-tests/build.gradle.kts` (with cross-module support). |
| 12 | + * Analyzed `org.terasology.engine.network` package. |
| 13 | + * **Findings**: ~50% instruction coverage. |
| 14 | + * For Jenkins enable JaCoCo somehow but only store the XML report (past issues led to immense JaCoCo storage usage) |
| 15 | + |
| 16 | +## Coverage Gaps & Priorities |
| 17 | +The following areas in `org.terasology.engine.network` have significant coverage gaps and should be prioritized in the next testing round: |
| 18 | + |
| 19 | +### High Priority (0% Coverage) |
| 20 | +* **`ServerInfoService`** (142 missed instructions): Completely untested. Critical for server discovery/info. |
| 21 | +* **`PingService`** (41 missed instructions): Untested. |
| 22 | +* **`PingComponent`** (27 missed instructions): Untested. |
| 23 | +* **`ClientPingSystem`** (18 missed instructions): Untested. |
| 24 | + |
| 25 | +### Medium Priority (Partial Coverage) |
| 26 | +* **`ServerPingSystem`** (134 missed instructions): Partially covered, but likely missing edge cases or specific scenarios. |
| 27 | + |
| 28 | +## Strategy for Next Session |
| 29 | +1. **Targeted Unit Tests**: Create a new test class (e.g., `ServerInfoServiceTest`) to specifically target `ServerInfoService`. |
| 30 | +2. **Integration Tests**: Expand `NetworkEventPropagationTest` or create a new MTE test to cover Ping functionality (`PingService`, `ServerPingSystem`, `ClientPingSystem`). |
0 commit comments