From 61dd90e0289a38be841566fdd5f23877646b29c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Thu, 1 Apr 2021 08:56:44 +0200 Subject: [PATCH] test_result: don't set status "PASS" when build fail When installing the tested software failed, no test result lines have been created, this should have status FAILED. --- .../portal_components/test.erp5.testTaskDistribution.py | 1 + .../test_result_workflow/scripts/TestResult_complete.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bt5/erp5_test_result/TestTemplateItem/portal_components/test.erp5.testTaskDistribution.py b/bt5/erp5_test_result/TestTemplateItem/portal_components/test.erp5.testTaskDistribution.py index 11753d11c5..97fc14208e 100644 --- a/bt5/erp5_test_result/TestTemplateItem/portal_components/test.erp5.testTaskDistribution.py +++ b/bt5/erp5_test_result/TestTemplateItem/portal_components/test.erp5.testTaskDistribution.py @@ -739,6 +739,7 @@ class TestTaskDistribution(TaskDistributionTestCase): self.tool.reportTaskFailure(test_result_path, {}, "UnitTestNode 1") self.assertEqual("failed", test_result.getSimulationState()) checkNodeState("failed", "failed") + self.assertEqual("FAIL", test_result.getStringIndex()) def test_07b_reportTaskFailureWithRunningTest(self): """ diff --git a/bt5/erp5_test_result/WorkflowTemplateItem/portal_workflow/test_result_workflow/scripts/TestResult_complete.py b/bt5/erp5_test_result/WorkflowTemplateItem/portal_workflow/test_result_workflow/scripts/TestResult_complete.py index c8bc516fd4..bd636b3907 100644 --- a/bt5/erp5_test_result/WorkflowTemplateItem/portal_workflow/test_result_workflow/scripts/TestResult_complete.py +++ b/bt5/erp5_test_result/WorkflowTemplateItem/portal_workflow/test_result_workflow/scripts/TestResult_complete.py @@ -41,7 +41,8 @@ if test_result.getPortalType() == 'Test Result': failures=0, skips=0, test_result_retry_count=0) - for line in test_result.objectValues(portal_type='Test Result Line'): + test_result_line_list = test_result.objectValues(portal_type='Test Result Line') + for line in test_result_line_list: for prop in edit_kw: try: edit_kw[prop] = edit_kw[prop] + line.getProperty(prop, 0) @@ -51,7 +52,7 @@ if test_result.getPortalType() == 'Test Result': else: if line.getStringIndex() == 'UNKNOWN': has_unknown_result = True - if has_unknown_result or edit_kw['errors'] or ( + if has_unknown_result or not test_result_line_list or edit_kw['errors'] or ( edit_kw['failures'] and unexpected(test_result)): status = 'FAIL' else: -- 2.30.9