@@ -191,12 +191,42 @@ async def test_execute_code_execution_error():
191191
192192 assert len (response .results ) == 1
193193 assert response .results [0 ].category == ResponseCategory .SYSTEM_ERROR
194- assert "container crashed" in response .results [0 ].error_message
194+ assert response .results [0 ].error_message == "An unexpected error occurred. Please try again later."
195+ assert "container crashed" not in response .results [0 ].error_message
195196 assert response .results [0 ].output == ""
196197 # Sandbox must still be released in the finally block
197198 mock_manager .release_sandbox .assert_called_once ()
198199
199200
201+ # ---------------------------------------------------------------------------
202+ # execute_code – execution error with multiple test cases
203+ # ---------------------------------------------------------------------------
204+
205+ @pytest .mark .asyncio
206+ async def test_execute_code_execution_error_multiple_test_cases ():
207+ """On exception, SYSTEM_ERROR count matches the number of requested test cases."""
208+ mock_sandbox = Mock ()
209+ mock_sandbox .prepare_workdir = Mock ()
210+
211+ mock_manager = Mock ()
212+ mock_manager .get_sandbox = Mock (return_value = mock_sandbox )
213+ mock_manager .release_sandbox = Mock ()
214+
215+ request = _make_request (test_cases = [["1" ], ["2" ], ["3" ]])
216+
217+ with patch ("web.service.deliberate_execution_service.get_sandbox_manager" , return_value = mock_manager ), \
218+ patch ("asyncio.to_thread" , new = AsyncMock (side_effect = RuntimeError ("container crashed" ))):
219+
220+ response = await execute_code (request )
221+
222+ assert len (response .results ) == 3
223+ for result in response .results :
224+ assert result .category == ResponseCategory .SYSTEM_ERROR
225+ assert result .error_message == "An unexpected error occurred. Please try again later."
226+ assert result .output == ""
227+ mock_manager .release_sandbox .assert_called_once ()
228+
229+
200230# ---------------------------------------------------------------------------
201231# execute_code – runtime error response from sandbox
202232# ---------------------------------------------------------------------------
0 commit comments