diff --git a/src/TcoInspectors/src/XAE/XAE/TcoInspectors/POUs/TcoInspectionGroup/TcoInspectionGroup.TcPOU b/src/TcoInspectors/src/XAE/XAE/TcoInspectors/POUs/TcoInspectionGroup/TcoInspectionGroup.TcPOU index 97079770..c2d87d09 100644 --- a/src/TcoInspectors/src/XAE/XAE/TcoInspectors/POUs/TcoInspectionGroup/TcoInspectionGroup.TcPOU +++ b/src/TcoInspectors/src/XAE/XAE/TcoInspectors/POUs/TcoInspectionGroup/TcoInspectionGroup.TcPOU @@ -542,8 +542,17 @@ CASE _currentRunResult.Result OF eOverallResult.Failed: _refOverallResult:=_originalOverallResult; _refOverallResult.Result := eOverallResult.Failed; - _refOverallResult.Failures := concat(concat(_refOverallResult.Failures,';'), _currentRunResult.Failures); - _refOverallResult.ErrorCodes := concat(concat(_refOverallResult.ErrorCodes,';'),_currentRunResult.ErrorCodes); + IF _refOverallResult.Failures<>'' THEN + _refOverallResult.Failures := concat(concat(_refOverallResult.Failures,';'), _currentRunResult.Failures); + ELSE + _refOverallResult.Failures := _currentRunResult.Failures; + END_IF; + + IF _refOverallResult.ErrorCodes<>'' THEN + _refOverallResult.ErrorCodes := concat(concat(_refOverallResult.ErrorCodes,';'),_currentRunResult.ErrorCodes); + ELSE + _refOverallResult.ErrorCodes := _currentRunResult.ErrorCodes; + END_IF; END_CASE diff --git a/src/TcoInspectors/tests/PlcUnitTests/TcoInspectionGroupTests.cs b/src/TcoInspectors/tests/PlcUnitTests/TcoInspectionGroupTests.cs index 3d75d7bb..fc354ccf 100644 --- a/src/TcoInspectors/tests/PlcUnitTests/TcoInspectionGroupTests.cs +++ b/src/TcoInspectors/tests/PlcUnitTests/TcoInspectionGroupTests.cs @@ -45,7 +45,14 @@ public void SetUp() container.ExecuteProbeRun(1, 0); InspectorContainer._overallResult.Result.Synchron = 0; - container._sut._overallResult.Result.Synchron = 0; + container._sut._overallResult.Result.Synchron = 0; + + InspectorContainer._overallResult.Failures.Synchron = ""; + InspectorContainer._overallResult.ErrorCodes.Synchron = ""; + InspectorContainer._sut._overallResult.Failures.Synchron = ""; + InspectorContainer._sut._overallResult.ErrorCodes.Synchron = ""; + + } @@ -309,7 +316,7 @@ public void inspect_failed_description_group_failed() var initialState = InspectorContainer._coordinator._state.Synchron; var expectedState = (short)(initialState - 10); InspectorContainer._retryState.Synchron = expectedState; - + Assert.AreEqual("", InspectorContainer._sut._overallResult.Failures.Synchron); InspectorContainer.ExecuteProbeRun((int)eInspectionGroupTests.UpdateComprehensiveResultDescriptions, () => { Task.Delay(failTime).Wait();