From 1930c39cac193fa6253ffacfac2adbac55f08beb Mon Sep 17 00:00:00 2001
From: Louise McCann <louise.mccann@stfc.ac.uk>
Date: Mon, 15 May 2017 15:20:28 +0100
Subject: [PATCH] Refs #19483 system test fix

---
 .../tests/analysis/VesuvioCommandsTest.py     |  2 +-
 scripts/Inelastic/vesuvio/commands.py         | 29 +++++++++++--------
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/Testing/SystemTests/tests/analysis/VesuvioCommandsTest.py b/Testing/SystemTests/tests/analysis/VesuvioCommandsTest.py
index 52185ccaef5..aac4406511c 100644
--- a/Testing/SystemTests/tests/analysis/VesuvioCommandsTest.py
+++ b/Testing/SystemTests/tests/analysis/VesuvioCommandsTest.py
@@ -169,7 +169,7 @@ class SingleSpectrumBackground(stresstesting.MantidStressTest):
 
         fitted_wsg = self._fit_results[0]
         self.assertTrue(isinstance(fitted_wsg, WorkspaceGroup))
-        self.assertEqual(2, len(fitted_wsg))
+        self.assertEqual(1, len(fitted_wsg))
 
         fitted_ws = fitted_wsg[0]
         self.assertTrue(isinstance(fitted_ws, MatrixWorkspace))
diff --git a/scripts/Inelastic/vesuvio/commands.py b/scripts/Inelastic/vesuvio/commands.py
index 3bff3de751d..3ea5947bb4b 100644
--- a/scripts/Inelastic/vesuvio/commands.py
+++ b/scripts/Inelastic/vesuvio/commands.py
@@ -231,15 +231,15 @@ def fit_tof_iteration(sample_data, container_data, runs, flags):
             ms.UnGroupWorkspace(corrections_args["CorrectionWorkspaces"])
             ms.UnGroupWorkspace(corrections_args["CorrectedWorkspaces"])
 
-        for workspace in output_workspaces:
+            for workspace in output_workspaces:
 
-            group_name = runs + '_iteration_' + str(flags.get('iteration', None))
-            name = group_name + '_' + workspace.split('_')[1] + '_' + workspace.split('_')[-1]
-            result_workspaces.append(name)
-            if index == 0:
-                ms.RenameWorkspace(InputWorkspace=workspace, OutputWorkspace=name)
-            else:
-                ms.ConjoinWorkspaces(InputWorkspace1=name, InputWorkspace2=workspace)
+                group_name = runs + '_iteration_' + str(flags.get('iteration', None))
+                name = group_name + '_' + workspace.split('_')[1] + '_' + workspace.split('_')[-1]
+                result_workspaces.append(name)
+                if index == 0:
+                    ms.RenameWorkspace(InputWorkspace=workspace, OutputWorkspace=name)
+                else:
+                    ms.ConjoinWorkspaces(InputWorkspace1=name, InputWorkspace2=workspace)
 
         # Output the parameter workspaces
         params_pre_corr = runs + "_params_pre_correction_iteration_" + str(flags['iteration'])
@@ -249,10 +249,15 @@ def fit_tof_iteration(sample_data, container_data, runs, flags):
         AnalysisDataService.Instance().addOrReplace(params_name, pars_workspace)
         AnalysisDataService.Instance().addOrReplace(fit_name, fit_workspace)
 
-    output_groups.append(ms.GroupWorkspaces(InputWorkspaces=result_workspaces,
-                                            OutputWorkspace=group_name))
-    output_groups.append(ms.GroupWorkspaces(InputWorkspaces=data_workspaces,
-                                            OutputWorkspace=group_name + '_data'))
+    if result_workspaces:
+        output_groups.append(ms.GroupWorkspaces(InputWorkspaces=result_workspaces,
+                                                OutputWorkspace=group_name))
+
+    if data_workspaces:
+        output_groups.append(ms.GroupWorkspaces(InputWorkspaces=data_workspaces,
+                                                OutputWorkspace=group_name + '_data'))
+    else:
+        output_groups.append(fit_ws_name)
 
     if len(output_groups) > 1:
         result_ws = output_groups
-- 
GitLab