diff --git a/playground/frontend/lib/modules/editor/repository/code_repository/code_repository.dart b/playground/frontend/lib/modules/editor/repository/code_repository/code_repository.dart index 15c4f405beb0..bc43571315b0 100644 --- a/playground/frontend/lib/modules/editor/repository/code_repository/code_repository.dart +++ b/playground/frontend/lib/modules/editor/repository/code_repository/code_repository.dart @@ -135,10 +135,9 @@ class CodeRepository { log: prevLog, ); case RunCodeStatus.executing: - case RunCodeStatus.finished: final responses = await Future.wait([ _client.getRunOutput(pipelineUuid, request), - _client.getLogOutput(pipelineUuid, request) + _client.getLogOutput(pipelineUuid, request), ]); final output = responses[0]; final log = responses[1]; @@ -147,6 +146,20 @@ class CodeRepository { output: prevOutput + output.output, log: prevLog + log.output, ); + case RunCodeStatus.finished: + final responses = await Future.wait([ + _client.getRunOutput(pipelineUuid, request), + _client.getLogOutput(pipelineUuid, request), + _client.getRunErrorOutput(pipelineUuid, request) + ]); + final output = responses[0]; + final log = responses[1]; + final error = responses[2]; + return RunCodeResult( + status: status, + output: prevOutput + output.output + error.output, + log: prevLog + log.output, + ); default: return RunCodeResult(status: status); } diff --git a/playground/frontend/test/modules/editor/repository/code_repository/code_repository_test.dart b/playground/frontend/test/modules/editor/repository/code_repository/code_repository_test.dart index 3ab75a125ad8..8383043c30d1 100644 --- a/playground/frontend/test/modules/editor/repository/code_repository/code_repository_test.dart +++ b/playground/frontend/test/modules/editor/repository/code_repository/code_repository_test.dart @@ -73,6 +73,9 @@ void main() { when(client.getCompileOutput(kPipelineUuid, kRequestMock)).thenAnswer( (_) async => kCompileOutputResponse, ); + when(client.getRunErrorOutput(kPipelineUuid, kRequestMock)).thenAnswer( + (_) async => kRunErrorOutputResponse, + ); when(client.getLogOutput(kPipelineUuid, kRequestMock)).thenAnswer( (_) async => kLogOutputResponse, ); @@ -91,7 +94,7 @@ void main() { ), RunCodeResult( status: RunCodeStatus.finished, - output: kRunOutput, + output: kRunOutput + kRunErrorOutput, log: kProcessingStartedText + kLogOutput, ), ]), @@ -234,7 +237,7 @@ void main() { ), RunCodeResult( status: RunCodeStatus.finished, - output: kRunOutput * 3, + output: kRunOutput * 3 + kRunErrorOutput, log: kProcessingStartedText + kLogOutput * 3, ), ]),