Newer
Older
# Mantid Repository : https://github.com/mantidproject/mantid
#
# Copyright © 2019 ISIS Rutherford Appleton Laboratory UKRI,
# NScD Oak Ridge National Laboratory, European Spallation Source
# & Institut Laue - Langevin
# SPDX - License - Identifier: GPL - 3.0 +
from __future__ import (absolute_import, division, print_function)
from Engineering.EnginX import main
DIRS = config['datasearch.directories'].split(';')
root_directory = os.path.join(DIRS[0], "ENGINX")
cal_directory = os.path.join(root_directory, "cal")
focus_directory = os.path.join(root_directory, "focus")
class CreateVanadiumTest(systemtesting.MantidSystemTest):
def runTest(self):
main(vanadium_run="236516", user="test", focus_run=None, force_vanadium=True, directory=cal_directory)
def validate(self):
return "eng_vanadium_integration", "engggui_vanadium_integration.nxs"
def cleanup(self):
simple.mtd.clear()
class CreateCalibrationWholeTest(systemtesting.MantidSystemTest):
main(vanadium_run="236516", user="test", focus_run=None, do_cal=True, directory=cal_directory)
return ("engg_calibration_bank_1", "engggui_calibration_bank_1.nxs",
"engg_calibration_bank_2", "engggui_calibration_bank_2.nxs",
"engg_calibration_banks_parameters", "engggui_calibration_banks_parameters.nxs")
def cleanup(self):
simple.mtd.clear()
_try_delete(cal_directory)
class CreateCalibrationCroppedTest(systemtesting.MantidSystemTest):
def runTest(self):
os.makedirs(cal_directory)
main(vanadium_run="236516", user="test", focus_run=None, do_cal=True, directory=cal_directory,
crop_type="spectra", crop_on="1-20")
def validate(self):
return ("cropped", "engggui_calibration_bank_cropped.nxs",
"engg_calibration_banks_parameters", "engggui_calibration_bank_cropped_parameters.nxs")
def cleanup(self):
simple.mtd.clear()
_try_delete(cal_directory)
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
class CreateCalibrationBankTest(systemtesting.MantidSystemTest):
def runTest(self):
os.makedirs(cal_directory)
main(vanadium_run="236516", user="test", focus_run=None, do_cal=True, directory=cal_directory,
crop_type="banks", crop_on="South")
def validate(self):
return ("engg_calibration_bank_2", "engggui_calibration_bank_2.nxs",
"engg_calibration_banks_parameters", "engggui_calibration_bank_south_parameters.nxs")
def cleanup(self):
simple.mtd.clear()
_try_delete(cal_directory)
class FocusBothBanks(systemtesting.MantidSystemTest):
def runTest(self):
os.makedirs(focus_directory)
main(vanadium_run="236516", user="test", focus_run="299080", do_cal=True, directory=focus_directory)
def validate(self):
return("engg_focus_output_bank_1", "enggui_focusing_output_ws_bank_1.nxs",
"engg_focus_output_bank_2", "enggui_focusing_output_ws_bank_2.nxs")
def cleanup(self):
simple.mtd.clear()
_try_delete(focus_directory)
class FocusCropped(systemtesting.MantidSystemTest):
def runTest(self):
os.makedirs(focus_directory)
main(vanadium_run="236516", user="test", focus_run="299080", directory=focus_directory,
crop_type="spectra", crop_on="1-20")
def validate(self):
return "engg_focus_output", "enggui_focusing_output_ws_bank_cropped.nxs"
def cleanup(self):
simple.mtd.clear()
_try_delete(focus_directory)
class FocusTextureMode(systemtesting.MantidSystemTest):
def runTest(self):
os.makedirs(focus_directory)
main(vanadium_run="236516", user="test", focus_run=None, do_cal=True, directory=focus_directory)
simple.mtd.clear()
csv_file = os.path.join(root_directory, "EnginX.csv")
location = os.path.join(focus_directory, "User", "test", "Calibration")
shutil.copy2(csv_file, location)
csv_file = os.path.join(location, "EnginX.csv")
main(vanadium_run="236516", user="test", focus_run="299080", do_cal=True, directory=focus_directory,
grouping_file=csv_file)
output = "engg_focusing_output_ws_texture_bank_{}{}"
group = ""
for i in range(1, 11):
group = group+output.format(i, ",")
simple.GroupWorkspaces(InputWorkspaces=group, OutputWorkspace="test")
def validate(self):
outputlist=["engg_focusing_output_ws_texture_bank_{}".format(i) for i in range(1, 11)]
filelist=["enggui_texture_Bank_{}.nxs".format(i) for i in range(1, 11)]
validation_list = [x for t in zip(*[outputlist, filelist])for x in t]
return validation_list
def cleanup(self):
simple.mtd.clear()
_try_delete(focus_directory)
def _try_delete(path):
try:
# Use this instead of os.remove as we could be passed a non-empty dir
if os.path.isdir(path):
shutil.rmtree(path)
else:
os.remove(path)
except OSError:
print ("Could not delete output file at: ", path)
def _setup_focus():
os.makedirs(focus_directory)
main(vanadium_run="236516", user="test", focus_run=None, do_cal=True, directory=focus_directory,
crop_type="spectra", crop_on="1-20")
simple.mtd.clear()