@@ -13,6 +13,7 @@ TEST_CASE("GameEngine workflow") {
1313
1414 std::thread engineThread ([&engine]() { engine.run (); });
1515 transport.waitForClient ();
16+ for (int i = 0 ; i < 3 ; ++i) transport.waitForSentMessage ();
1617
1718 Message configMsg (" config" ,
1819 {{" game" , " note" }, {" scale" , " c" }, {" mode" , " maj" }});
@@ -39,6 +40,7 @@ TEST_CASE("GameEngine Error Handling") {
3940
4041 std::thread engineThread ([&engine]() { engine.run (); });
4142 transport.waitForClient ();
43+ for (int i = 0 ; i < 3 ; ++i) transport.waitForSentMessage ();
4244
4345 // / Vérifie erreur config manquante (champ "game" absent)
4446 SUBCASE (" Invalid Config (Missing Game Type)" ) {
@@ -110,6 +112,7 @@ TEST_CASE("GameEngine Game Modes") {
110112 GameEngine engine (transport, midi);
111113 std::thread engineThread ([&engine]() { engine.run (); });
112114 transport.waitForClient ();
115+ for (int i = 0 ; i < 3 ; ++i) transport.waitForSentMessage ();
113116
114117 // / Vérifie mode Chord (accords sans renversement)
115118 SUBCASE (" Chord Game" ) {
@@ -145,6 +148,7 @@ TEST_CASE("GameEngine Session Interruptions") {
145148 GameEngine engine (transport, midi);
146149 std::thread engineThread ([&engine]() { engine.run (); });
147150 transport.waitForClient ();
151+ for (int i = 0 ; i < 3 ; ++i) transport.waitForSentMessage ();
148152
149153 // / Vérifie gestion quit pendant session (avant ready)
150154 SUBCASE (" Quit during session (before ready)" ) {
@@ -273,6 +277,7 @@ TEST_CASE("GameEngine Exception in handleClientConnection") {
273277
274278 std::thread engineThread ([&engine]() { engine.run (); });
275279 transport.waitForClient ();
280+ for (int i = 0 ; i < 3 ; ++i) transport.waitForSentMessage ();
276281
277282 // Forcer exception en envoyant message mal formé ou déconnectant
278283 // abruptement La boucle devrait attraper exception et continuer
0 commit comments