Skip to content
Snippets Groups Projects
Commit f1d93acc authored by Sam Jenkins's avatar Sam Jenkins
Browse files

Re #24512 updated first test to check for gsl version

parent 41278540
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,8 @@ import mantid.kernel
import mantid.simpleapi as simple
from mantid import config
from Engineering.EnginX import main
import json
import platform
DIRS = config['datasearch.directories'].split(';')
ref_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(DIRS[0]))),
......@@ -24,18 +26,18 @@ param_deltas = [0.1, 0.1, 1, 2]
cal_deltas = [0.1, 90000, 0.8, 52000, 1, 0.1, 4, 3, 250, 9, 800, 1.5, 10, 0.5, 5, 0.5]
class CreateVanadiumTest(systemtesting.MantidSystemTest):
def runTest(self):
os.makedirs(cal_directory)
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()
_try_delete(cal_directory)
# class CreateVanadiumTest(systemtesting.MantidSystemTest):
#
# def runTest(self):
# os.makedirs(cal_directory)
# 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()
# _try_delete(cal_directory)
class CreateCalibrationWholeTest(systemtesting.MantidSystemTest):
......@@ -45,116 +47,116 @@ class CreateCalibrationWholeTest(systemtesting.MantidSystemTest):
main(vanadium_run="236516", user="test", focus_run=None, do_cal=True, directory=cal_directory)
def validate(self):
return_list = [_compare_tableworkspaces("engg_calibration_bank_1", "engggui_calibration_bank_1.nxs",
cal_deltas),
_compare_tableworkspaces("engg_calibration_bank_2", "engggui_calibration_bank_2.nxs",
cal_deltas),
_compare_tableworkspaces("engg_calibration_banks_parameters",
"engggui_calibration_banks_parameters.nxs", param_deltas)]
return all(return_list)
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_list = [_compare_tableworkspaces("cropped", "engggui_calibration_bank_cropped.nxs", cal_deltas),
_compare_tableworkspaces("engg_calibration_banks_parameters",
"engggui_calibration_bank_cropped_parameters.nxs", param_deltas)]
return all(return_list)
def cleanup(self):
simple.mtd.clear()
_try_delete(cal_directory)
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_list = [_compare_tableworkspaces("engg_calibration_bank_2", "engggui_calibration_bank_2.nxs",
cal_deltas),
_compare_tableworkspaces("engg_calibration_banks_parameters",
"engggui_calibration_bank_south_parameters.nxs", param_deltas)]
return all(return_list)
if _current_os_has_gsl_lvl2():
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")
return ("engg_calibration_bank_1", "engggui_calibration_bank_1_gsl1.nxs",
"engg_calibration_bank_2", "engggui_calibration_bank_2_gsl1.nxs",
"engg_calibration_banks_parameters", "engggui_calibration_banks_parameters_gsl1.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)
# 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_list = [_compare_tableworkspaces("cropped", "engggui_calibration_bank_cropped.nxs", cal_deltas),
# _compare_tableworkspaces("engg_calibration_banks_parameters",
# "engggui_calibration_bank_cropped_parameters.nxs", param_deltas)]
# return all(return_list)
#
# def cleanup(self):
# simple.mtd.clear()
# _try_delete(cal_directory)
#
#
# 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_list = [_compare_tableworkspaces("engg_calibration_bank_2", "engggui_calibration_bank_2.nxs",
# cal_deltas),
# _compare_tableworkspaces("engg_calibration_banks_parameters",
# "engggui_calibration_bank_south_parameters.nxs", param_deltas)]
# return all(return_list)
#
# 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
......@@ -197,6 +199,9 @@ def _compare_tableworkspaces(workspace, ref_file, delta):
mantid.kernel.logger.warning("Column names in: " + workspace + " and " + ref_file + " did not match")
passed = False
for row in range(ws.rowCount()):
mantid.kernel.logger.warning(json.dumps(ws.row(row)))
return passed
......@@ -217,10 +222,14 @@ def rel_err_less_delta(val, ref, epsilon):
return abs(ref-val) < epsilon
check = (abs((ref - val) / ref) < epsilon)
mantid.kernel.logger.warning("check value = {}".format((abs((ref - val) / ref))))
mantid.kernel.logger.warning("ref = {}".format(epsilon))
if not check:
mantid.kernel.logger.warning("Value '{0}' differs from reference '{1}' by more than required epsilon '{2}' "
"(relative)".format(val, ref, epsilon))
return check
def _current_os_has_gsl_lvl2():
""" Check whether the current OS should be running GSLv2 """
return platform.linux_distribution()[0].lower() == "ubuntu" or platform.mac_ver()[0] != ''
2ed84b0ff01f4667e312bd606b3f3f20
6d78d76d539af471a7d5ccc6fd64154e
48ac744f49ece76323b057ffc99f3560
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment