From ffa2bbf490fc0d66d997252348285cf975acca4b Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 9 Feb 2015 09:47:49 +0000 Subject: [PATCH 001/112] Move performance test code to Testing directory. The system tests will be added here so it makes sense to have all of this in one place. Refs #10870 --- {Test => Code/Mantid/Testing}/PerformanceTests/.gitignore | 0 .../PerformanceTests/Mantid.systemtests.properties.template | 0 {Test => Code/Mantid/Testing}/PerformanceTests/README.txt | 0 {Test => Code/Mantid/Testing}/PerformanceTests/analysis.py | 0 .../Mantid/Testing}/PerformanceTests/check_performance.py | 0 {Test => Code/Mantid/Testing}/PerformanceTests/make_report.py | 0 {Test => Code/Mantid/Testing}/PerformanceTests/reporters.py | 0 {Test => Code/Mantid/Testing}/PerformanceTests/setup.py | 0 {Test => Code/Mantid/Testing}/PerformanceTests/sqlresults.py | 0 {Test => Code/Mantid/Testing}/PerformanceTests/testresult.py | 0 {Test => Code/Mantid/Testing}/PerformanceTests/xunit_to_sql.py | 0 11 files changed, 0 insertions(+), 0 deletions(-) rename {Test => Code/Mantid/Testing}/PerformanceTests/.gitignore (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/Mantid.systemtests.properties.template (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/README.txt (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/analysis.py (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/check_performance.py (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/make_report.py (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/reporters.py (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/setup.py (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/sqlresults.py (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/testresult.py (100%) rename {Test => Code/Mantid/Testing}/PerformanceTests/xunit_to_sql.py (100%) diff --git a/Test/PerformanceTests/.gitignore b/Code/Mantid/Testing/PerformanceTests/.gitignore similarity index 100% rename from Test/PerformanceTests/.gitignore rename to Code/Mantid/Testing/PerformanceTests/.gitignore diff --git a/Test/PerformanceTests/Mantid.systemtests.properties.template b/Code/Mantid/Testing/PerformanceTests/Mantid.systemtests.properties.template similarity index 100% rename from Test/PerformanceTests/Mantid.systemtests.properties.template rename to Code/Mantid/Testing/PerformanceTests/Mantid.systemtests.properties.template diff --git a/Test/PerformanceTests/README.txt b/Code/Mantid/Testing/PerformanceTests/README.txt similarity index 100% rename from Test/PerformanceTests/README.txt rename to Code/Mantid/Testing/PerformanceTests/README.txt diff --git a/Test/PerformanceTests/analysis.py b/Code/Mantid/Testing/PerformanceTests/analysis.py similarity index 100% rename from Test/PerformanceTests/analysis.py rename to Code/Mantid/Testing/PerformanceTests/analysis.py diff --git a/Test/PerformanceTests/check_performance.py b/Code/Mantid/Testing/PerformanceTests/check_performance.py similarity index 100% rename from Test/PerformanceTests/check_performance.py rename to Code/Mantid/Testing/PerformanceTests/check_performance.py diff --git a/Test/PerformanceTests/make_report.py b/Code/Mantid/Testing/PerformanceTests/make_report.py similarity index 100% rename from Test/PerformanceTests/make_report.py rename to Code/Mantid/Testing/PerformanceTests/make_report.py diff --git a/Test/PerformanceTests/reporters.py b/Code/Mantid/Testing/PerformanceTests/reporters.py similarity index 100% rename from Test/PerformanceTests/reporters.py rename to Code/Mantid/Testing/PerformanceTests/reporters.py diff --git a/Test/PerformanceTests/setup.py b/Code/Mantid/Testing/PerformanceTests/setup.py similarity index 100% rename from Test/PerformanceTests/setup.py rename to Code/Mantid/Testing/PerformanceTests/setup.py diff --git a/Test/PerformanceTests/sqlresults.py b/Code/Mantid/Testing/PerformanceTests/sqlresults.py similarity index 100% rename from Test/PerformanceTests/sqlresults.py rename to Code/Mantid/Testing/PerformanceTests/sqlresults.py diff --git a/Test/PerformanceTests/testresult.py b/Code/Mantid/Testing/PerformanceTests/testresult.py similarity index 100% rename from Test/PerformanceTests/testresult.py rename to Code/Mantid/Testing/PerformanceTests/testresult.py diff --git a/Test/PerformanceTests/xunit_to_sql.py b/Code/Mantid/Testing/PerformanceTests/xunit_to_sql.py similarity index 100% rename from Test/PerformanceTests/xunit_to_sql.py rename to Code/Mantid/Testing/PerformanceTests/xunit_to_sql.py From 98041ca89fda676a096bd38e1a6e3a20961a52ba Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 9 Feb 2015 10:49:15 +0000 Subject: [PATCH 002/112] Initial dump of system test supporting framework Some modules were dropped from the other repository as they were not used, namely - emailreporter.py - sqlresultreporter.py - StressTests directory. Fixes for path changes etc will still be required for this to work. Refs #10870 --- .../lib/systemtests/algorithm_decorator.py | 61 + .../lib/systemtests/stresstesting.py | 1043 +++++++++++++++++ .../lib/systemtests/xmlreporter.py | 86 ++ .../SystemTests/scripts/InstallerTests.py | 127 ++ .../SystemTests/scripts/mantidinstaller.py | 242 ++++ .../scripts/performance/README.txt | 1 + .../scripts/performance/analysis.py | 699 +++++++++++ .../scripts/performance/make_report.py | 84 ++ .../scripts/performance/reporters.py | 126 ++ .../scripts/performance/sqlresults.py | 327 ++++++ .../scripts/performance/testresult.py | 120 ++ .../scripts/performance/xunit_to_sql.py | 137 +++ .../SystemTests/scripts/runSystemTests.py | 118 ++ .../tests/analysis/reference/README.md | 1 + 14 files changed, 3172 insertions(+) create mode 100644 Code/Mantid/Testing/SystemTests/lib/systemtests/algorithm_decorator.py create mode 100644 Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py create mode 100644 Code/Mantid/Testing/SystemTests/lib/systemtests/xmlreporter.py create mode 100644 Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py create mode 100644 Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py create mode 100644 Code/Mantid/Testing/SystemTests/scripts/performance/README.txt create mode 100644 Code/Mantid/Testing/SystemTests/scripts/performance/analysis.py create mode 100755 Code/Mantid/Testing/SystemTests/scripts/performance/make_report.py create mode 100644 Code/Mantid/Testing/SystemTests/scripts/performance/reporters.py create mode 100644 Code/Mantid/Testing/SystemTests/scripts/performance/sqlresults.py create mode 100644 Code/Mantid/Testing/SystemTests/scripts/performance/testresult.py create mode 100755 Code/Mantid/Testing/SystemTests/scripts/performance/xunit_to_sql.py create mode 100755 Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py create mode 100644 Code/Mantid/Testing/SystemTests/tests/analysis/reference/README.md diff --git a/Code/Mantid/Testing/SystemTests/lib/systemtests/algorithm_decorator.py b/Code/Mantid/Testing/SystemTests/lib/systemtests/algorithm_decorator.py new file mode 100644 index 000000000000..91c0fd54546d --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/lib/systemtests/algorithm_decorator.py @@ -0,0 +1,61 @@ +import inspect +import re + +def make_decorator(algorithm_to_decorate): + """ + Dynamically create a builder pattern style decorator around a Mantid algorithm. + This allows you to separate out setting algorithm parameters from the actual method execution. Parameters may be reset multiple times. + + Usage: + rebin = make_decorator(Rebin) + rebin.set_Params([0, 0.1, 1]) + .... + rebin.execute() + + Arguments: + algorithm_to_decorate: The mantid.simpleapi algorithm to decorate. + + + + """ + + class Decorator(object): + + def __init__(self, alg_subject): + self.__alg_subject = alg_subject + self.__parameters__ = dict() + + def execute(self, additional=None, verbose=False): + if verbose: + print "Algorithm Parameters:" + print self.__parameters__ + print + out = self.__alg_subject(**self.__parameters__) + return out + + def set_additional(self, additional): + self.__parameters__.update(**additional) + + def add_getter_setter(type, name): + + def setter(self, x): + self.__parameters__[name] = x + + def getter(self): + return self.__parameters__[name] + + setattr(type, "set_" + name, setter) + setattr(type, "get_" + name, getter) + + + argspec = inspect.getargspec(algorithm_to_decorate) + for parameter in argspec.varargs.split(','): + m = re.search('(^\w+)', parameter) # Take the parameter key part from the defaults given as 'key=value' + if m: + parameter = m.group(0).strip() + m = re.search('\w+$', parameter) # strip off any leading numerical values produced by argspec + if m: + parameter = m.group(0).strip() + add_getter_setter(Decorator, m.group(0).strip()) + + return Decorator(algorithm_to_decorate) diff --git a/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py b/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py new file mode 100644 index 000000000000..7527065812e6 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py @@ -0,0 +1,1043 @@ +''' +Mantid stress testing framework. This module contains all of the necessary code +to run sets of stress tests on the Mantid framework by executing scripts directly +or by importing them into MantidPlot. + +Copyright © 2009 STFC Rutherford Appleton Laboratories + +This file is part of Mantid. + +Mantid is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +Mantid is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +File change history is stored at: . +''' + +import sys +import os +import types +import re +import time +import datetime +import platform +import subprocess +import tempfile +import imp +import inspect +import abc +import numpy +import unittest + +######################################################################### +# The base test class. +######################################################################### +class MantidStressTest(unittest.TestCase): + '''Defines a base class for stress tests, providing functions + that should be overridden by inheriting classes to perform tests. + ''' + + # Define a delimiter when reporting results + DELIMITER = '|' + + # Define a prefix for reporting results + PREFIX = 'RESULT' + + def __init__(self): + super(MantidStressTest, self).__init__() + # A list of things not to check when validating + self.disableChecking = [] + # Whether or not to strip off whitespace when doing simple ascii diff + self.stripWhitespace = True + # Tolerance + self.tolerance = 0.00000001 + # Store the resident memory of the system (in MB) before starting the test + import mantid.api + mantid.api.FrameworkManager.clear() + from mantid.kernel import MemoryStats + self.memory = MemoryStats().residentMem()/1024 + + def runTest(self): + raise NotImplementedError('"runTest(self)" should be overridden in a derived class') + + def skipTests(self): + ''' + Override this to return True when the tests should be skipped for some + reason. + See also: requiredFiles() and requiredMemoryMB() + ''' + return False + + def validate(self): + ''' + Override this to provide a pair of workspaces which should be checked for equality + by the doValidation method. + The overriding method should return a pair of strings. This could be two workspace + names, e.g. return 'workspace1','workspace2', or a workspace name and a nexus + filename (which must have nxs suffix), e.g. return 'workspace1','GEM00001.nxs'. + ''' + return None + + def requiredFiles(self): + ''' + Override this method if you want to require files for the test. + Return a list of files. + ''' + return [] + + def requiredMemoryMB(self): + ''' + Override this method to specify the amount of free memory, + in megabytes, that is required to run the test. + The test is skipped if there is not enough memory. + ''' + return 0 + + def validateMethod(self): + ''' + Override this to specify which validation method to use. Look at the validate* methods to + see what allowed values are. + ''' + return "WorkspaceToNeXus" + + def maxIterations(self): + '''Override this to perform more than 1 iteration of the implemented test.''' + return 1 + + def reportResult(self, name, value): + ''' + Send a result to be stored as a name,value pair + ''' + print self.PREFIX + self.DELIMITER + name + self.DELIMITER + str(value) + '\n', + + def __verifyRequiredFile(self, filename): + '''Return True if the specified file name is findable by Mantid.''' + from mantid.api import FileFinder + + # simple way is just getFullPath which never uses archive search + if os.path.exists(FileFinder.getFullPath(filename)): + return True + + # try full findRuns which will use archive search if it is turned on + try: + candidates = FileFinder.findRuns(filename) + for item in candidates: + if os.path.exists(item): + return True + except RuntimeError, e: + return False + + + # file was not found + return False + + def __verifyRequiredFiles(self): + # first see if there is anything to do + reqFiles = self.requiredFiles() + if len(reqFiles) <= 0: + return + + # by default everything is ok + foundAll = True + + # initialize mantid so it can get the data directories to look in + import mantid + # check that all of the files exist + for filename in reqFiles: + if not self.__verifyRequiredFile(filename): + print "Missing required file: '%s'" % filename + foundAll = False + + if not foundAll: + sys.exit(PythonTestRunner.SKIP_TEST) + + def __verifyMemory(self): + """ Do we need to skip due to lack of memory? """ + required = self.requiredMemoryMB() + if required <= 0: + return + + # Check if memory is available + from mantid.kernel import MemoryStats + MB_avail = MemoryStats().availMem()/(1024.) + if (MB_avail < required): + print "Insufficient memory available to run test! %g MB available, need %g MB." % (MB_avail,required) + sys.exit(PythonTestRunner.SKIP_TEST) + + def execute(self): + ''' + Run the defined number of iterations of this test + ''' + # Do we need to skip due to missing files? + self.__verifyRequiredFiles() + + self.__verifyMemory() + + # A custom check for skipping the tests for other reasons + if self.skipTests(): + sys.exit(PythonTestRunner.SKIP_TEST) + + # Start timer + start = time.time() + countmax = self.maxIterations() + 1 + for i in range(1, countmax): + istart = time.time() + self.runTest() + delta_t = time.time() - istart + self.reportResult('iteration time_taken', str(i) + ' %.2f' % delta_t) + delta_t = float(time.time() - start) + # Finish + #self.reportResult('time_taken', '%.2f' % delta_t) + + def __prepASCIIFile(self, filename): + """ + Prepare an ascii file for comparison using difflib. + """ + handle = open(filename, mode='r') + stuff = handle.readlines() + if self.stripWhitespace: + stuff = [line.strip() for line in stuff] + handle.close() + return stuff + + def validateASCII(self): + """ + Validate ASCII files using difflib. + """ + (measured, expected) = self.validate() + measured = self.__prepASCIIFile(measured) + expected = self.__prepASCIIFile(expected) + + # calculate the difference + import difflib + diff = difflib.Differ().compare(measured, expected) + result = [] + for line in diff: + if line.startswith('+') or line.startswith('-') or line.startswith('?'): + result.append(line) + + # print the difference + if len(result) > 0: + if self.stripWhitespace: + msg = "(whitespace striped from ends)" + else: + msg = "" + print "******************* Difference in files", msg + print "\n".join(result) + print "*******************" + return False + else: + return True + + def validateWorkspaceToNeXus(self): + ''' + Assumes the second item from self.validate() is a nexus file and loads it + to compare to the supplied workspace. + ''' + valNames = list(self.validate()) + from mantid.simpleapi import Load + numRezToCheck=len(valNames) + mismatchName=None; + + validationResult =True; + for ik in range(0,numRezToCheck,2): # check All results + workspace2 = valNames[ik+1] + if workspace2.endswith('.nxs'): + Load(Filename=workspace2,OutputWorkspace="RefFile") + workspace2 = "RefFile" + else: + raise RuntimeError("Should supply a NeXus file: %s" % workspace2) + valPair=(valNames[ik],"RefFile"); + if numRezToCheck>2: + mismatchName = valNames[ik]; + + if not(self.validateWorkspaces(valPair,mismatchName)): + validationResult = False; + print 'Workspace {0} not equal to its reference file'.format(valNames[ik]); + #end check All results + + return validationResult; + + def validateWorkspaceToWorkspace(self): + ''' + Assumes the second item from self.validate() is an existing workspace + to compare to the supplied workspace. + ''' + valNames = list(self.validate()) + return self.validateWorkspaces(valNames) + + def validateWorkspaces(self, valNames=None,mismatchName=None): + ''' + Performs a check that two workspaces are equal using the CheckWorkspacesMatch + algorithm. Loads one workspace from a nexus file if appropriate. + Returns true if: the workspaces match + OR the validate method has not been overridden. + Returns false if the workspace do not match. The reason will be in the log. + ''' + if valNames is None: + valNames = self.validate() + + from mantid.simpleapi import SaveNexus, AlgorithmManager + checker = AlgorithmManager.create("CheckWorkspacesMatch") + checker.setLogging(True) + checker.setPropertyValue("Workspace1",valNames[0]) + checker.setPropertyValue("Workspace2",valNames[1]) + checker.setPropertyValue("Tolerance", str(self.tolerance)) + if hasattr(self,'tolerance_is_reller') and self.tolerance_is_reller: + checker.setPropertyValue("ToleranceRelerr", "1") + for d in self.disableChecking: + checker.setPropertyValue("Check"+d,"0") + checker.execute() + if checker.getPropertyValue("Result") != 'Success!': + print self.__class__.__name__ + if mismatchName: + SaveNexus(InputWorkspace=valNames[0],Filename=self.__class__.__name__+mismatchName+'-mismatch.nxs') + else: + SaveNexus(InputWorkspace=valNames[0],Filename=self.__class__.__name__+'-mismatch.nxs') + return False + + return True + + def doValidation(self): + """ + Perform validation. This selects which validation method to use by the result + of validateMethod() and validate(). If validate() is not overridden this will + return True. + """ + # if no validation is specified then it must be ok + validation = self.validate() + if validation is None: + return True + + # if a simple boolean then use this + if type(validation) == bool: + return validation + # or numpy boolean + if type(validation) == numpy.bool_: + return bool(validation) + + # switch based on validation methods + method = self.validateMethod() + if method is None: + return True # don't validate + method = method.lower() + if "validateworkspacetonexus".endswith(method): + return self.validateWorkspaceToNeXus() + elif "validateworkspacetoworkspace".endswith(method): + return self.validateWorkspaceToWorkspace() + elif "validateascii".endswith(method): + return self.validateASCII() + else: + raise RuntimeError("invalid validation method '%s'" % self.validateMethod()) + + def returnValidationCode(self,code): + """ + Calls doValidation() and returns 0 in success and code if failed. This will be + used as return code from the calling python subprocess + """ + if self.doValidation(): + retcode = 0 + else: + retcode = code + if retcode == 0: + self._success = True + else: + self._success = False + # Now the validation is complete we can clear out all the stored data and check memory usage + import mantid.api + mantid.api.FrameworkManager.clear() + # Get the resident memory again and work out how much it's gone up by (in MB) + from mantid.kernel import MemoryStats + memorySwallowed = MemoryStats().residentMem()/1024 - self.memory + # Store the result + self.reportResult('memory footprint increase', memorySwallowed ) + return retcode + + def succeeded(self): + """ + Returns true if the test has been run and it succeeded, false otherwise + """ + if hasattr(self, '_success'): + return self._success + else: + return False + + def cleanup(self): + ''' + This function is called after a test has completed and can be used to + clean up, i.e. remove workspaces etc + ''' + pass + + + def assertDelta(self, value, expected, delta, msg=""): + """ + Check that a value is within +- delta of the expected value + """ + # Build the error message + if msg != "": msg += " " + msg += "Expected %g == %g within +- %g." % (value, expected, delta) + + if (value > expected+delta) or (value < expected-delta): + raise Exception(msg) + + def assertLessThan(self, value, expected, msg=""): + """ + Check that a value is < expected. + """ + # Build the error message + if msg != "": msg += " " + msg += "Expected %g < %g " % (value, expected) + + if (value >= expected): + raise Exception(msg) + + def assertGreaterThan(self, value, expected, msg=""): + """ + Check that a value is > expected. + """ + # Build the error message + if msg != "": msg += " " + msg += "Expected %g > %g " % (value, expected) + + if (value <= expected): + raise Exception(msg) + + +######################################################################### +# A class to store the results of a test +######################################################################### +class TestResult(object): + ''' + Stores the results of each test so that they can be reported later. + ''' + + def __init__(self): + self._results = [] + self.name = '' + self.filename = '' + self.date = '' + self.status = '' + self.time_taken = '' + self.total_time = '' + self.output = '' + self.err = '' + + def addItem(self, item): + ''' + Add an item to the store, this should be a list containing 2 entries: [Name, Value] + ''' + self._results.append(item) + + def resultLogs(self): + ''' + Get the map storing the results + ''' + return self._results + +######################################################################### +# A base class to support report results in an appropriate manner +######################################################################### +class ResultReporter(object): + ''' + A base class for results reporting. In order to get the results in an + appropriate form, subclass this class and implement the dispatchResults + method. + ''' + + def __init__(self): + '''Initialize a class instance, e.g. connect to a database''' + pass + + def dispatchResults(self, result): + raise NotImplementedError('"dispatchResults(self, result)" should be overridden in a derived class') + +######################################################################### +# A class to report results as formatted text output +######################################################################### +class TextResultReporter(ResultReporter): + ''' + Report the results of a test using standard out + ''' + + def dispatchResults(self, result): + ''' + Print the results to standard out + ''' + nstars = 30 + print '*' * nstars + for t in result.resultLogs(): + print '\t' + str(t[0]).ljust(15) + '-> ', str(t[1]) + print '*' * nstars + +######################################################################### +# A class to report results as junit xml +######################################################################### +from xmlreporter import XmlResultReporter + +######################################################################### +# A class to report results via email +######################################################################### +from emailreporter import EmailResultReporter + +######################################################################### +# A base class for a TestRunner +######################################################################### +class PythonTestRunner(object): + ''' + A base class to serve as a wrapper to actually run the tests in a specific + environment, i.e. console, gui + ''' + SUCCESS_CODE = 0 + GENERIC_FAIL_CODE = 1 + SEGFAULT_CODE = 139 + VALIDATION_FAIL_CODE = 99 + NOT_A_TEST = 98 + SKIP_TEST = 97 + + def __init__(self, need_escaping = False): + self._mtdpy_header = '' + self._test_dir = '' + # Get the path that this module resides in so that the tests know about it + self._framework_path = '' + for p in sys.path: + if 'Framework' in p: + self._framework_path = os.path.abspath(p).replace('\\','/') + # A string to prefix the code with + self._code_prefix = '' + self._using_escape = need_escaping + + def commandString(self, pycode): + ''' + Return the appropriate command to pass to subprocess.Popen + ''' + raise NotImplementedError('"commandString(self)" should be overridden in a derived class') + + def setMantidDir(self, mtdheader_dir): + # Store the path to MantidPythonAPI + self._mtdpy_header = os.path.abspath(mtdheader_dir).replace('\\','/') + + def setTestDir(self, test_dir): + self._test_dir = os.path.abspath(test_dir).replace('\\','/') + + def createCodePrefix(self): + if self._using_escape == True: + esc = '\\' + else: + esc = '' + + self._code_prefix = 'import sys, time;' + self._code_prefix += 'sys.path.insert(0, ' + esc + '"' + self._mtdpy_header + esc + '");' + \ + 'sys.path.append(' + esc + '"' + self._framework_path + esc + '");' + \ + 'sys.path.append(' + esc + '"' + self._test_dir + esc + '");' + + def getCodePrefix(self): + ''' + Return a prefix to the code that will be executed + ''' + return self._code_prefix + + def spawnSubProcess(self, cmd): + ''' + Spawn a new process and run the given command within it + ''' + + proc = subprocess.Popen(cmd, shell = True, stdout = subprocess.PIPE, stderr = subprocess.STDOUT, bufsize=-1) + std_out = "" + std_err = "" + for line in proc.stdout: + print line, + std_out += line + proc.wait() + + return proc.returncode, std_out, std_err + + def start(self, pycode): + ''' + Run the given test code in a new subprocess + ''' + raise NotImplementedError('"run(self, pycode)" should be overridden in a derived class') + +######################################################################### +# A runner class to execute the tests on using the command line interface +######################################################################### +class PythonConsoleRunner(PythonTestRunner): + ''' + This class executes tests within a Mantid environment inside a standalone python + interpreter + ''' + + def __init__(self): + PythonTestRunner.__init__(self, True) + + def start(self, pycode): + ''' + Run the code in a new instance of a python interpreter + ''' + return self.spawnSubProcess(sys.executable + ' -c \"' + self.getCodePrefix() + pycode + '\"') + +######################################################################### +# A runner class to execute the tests on using the command line interface +######################################################################### +class MantidPlotTestRunner(PythonTestRunner): + ''' + This class executes tests within the Python scripting environment inside + MantidPlot + ''' + + def __init__(self, mtdplot_dir): + PythonTestRunner.__init__(self) + mtdplot_bin = mtdplot_dir + '/MantidPlot' + if os.name == 'nt': + mtdplot_bin += '.exe' + self._mtdplot_bin = os.path.abspath(mtdplot_bin).replace('\\','/') + + def start(self, pycode): + ''' + Run the code in a new instance of the MantidPlot scripting environment + ''' + # The code needs wrapping in a temporary file so that it can be passed + # to MantidPlot, along with the redirection of the scripting output to + # stdout + # On Windows, just using the file given back by tempfile doesn't work + # as the name is mangled to a short version where all characters after + # a space are replace by ~. So on windows use put the file in the + # current directory + if os.name == 'nt': + loc = '.' + else: + loc = '' + # MG 11/09/2009: I tried the simple tempfile.NamedTemporaryFile() method + # but this didn't work on Windows so I had to be a little long winded + # about it + fd, tmpfilepath = tempfile.mkstemp(suffix = '.py', dir = loc, text=True) + + os.write(fd, 'import sys\nsys.stdout = sys.__stdout__\n' + self.getCodePrefix() + pycode) + retcode, output, err = self.spawnSubProcess('"' +self._mtdplot_bin + '" -xq \'' + tmpfilepath + '\'') + # Remove the temporary file + os.close(fd) + os.remove(tmpfilepath) + return retcode, output, err + +######################################################################### +# A class to tie together a test and its results +######################################################################### +class TestSuite(object): + ''' + Tie together a test and its results. + ''' + def __init__(self, modname, testname, filename = None): + self._modname = modname + self._fullname = modname + # A None testname indicates the source did not load properly + # It has come this far so that it gets reported as a proper failure + # by the framework + if testname is not None: + self._fullname += '.' + testname + + self._result = TestResult() + # Add some results that are not linked to the actually test itself + self._result.name = self._fullname + if filename: + self._result.filename = filename + else: + self._result.filename = self._fullname + self._result.addItem(['test_name', self._fullname]) + sysinfo = platform.uname() + self._result.addItem(['host_name', sysinfo[1]]) + self._result.addItem(['environment', self.envAsString()]) + self._result.status = 'skipped' # the test has been skipped until it has been executed + + name = property(lambda self: self._fullname) + status = property(lambda self: self._result.status) + + def envAsString(self): + if os.name == 'nt': + system = platform.system().lower()[:3] + arch = platform.architecture()[0][:2] + env = system + arch + elif os.name == 'mac': + env = platform.mac_ver()[0] + else: + env = platform.dist()[0] + return env + + def markAsSkipped(self, reason): + self.setOutputMsg(reason) + self._result.status = 'skipped' + + def execute(self, runner): + print time.strftime("%a, %d %b %Y %H:%M:%S", time.localtime()) + ': Executing ' + self._fullname + pycode = 'import ' + self._modname + ';'\ + + 'systest = ' + self._fullname + '();'\ + + 'systest.execute();'\ + + 'retcode = systest.returnValidationCode('+str(PythonTestRunner.VALIDATION_FAIL_CODE)+');'\ + + 'systest.cleanup();'\ + + 'sys.exit(retcode)' + # Start the new process + self._result.date = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + self._result.addItem(['test_date',self._result.date]) + retcode, output, err = runner.start(pycode) + + + if retcode == PythonTestRunner.SUCCESS_CODE: + status = 'success' + elif retcode == PythonTestRunner.GENERIC_FAIL_CODE: + # This is most likely an algorithm failure, but it's not certain + status = 'algorithm failure' + elif retcode == PythonTestRunner.VALIDATION_FAIL_CODE: + status = 'failed validation' + elif retcode == PythonTestRunner.SEGFAULT_CODE: + status = 'crashed' + elif retcode == PythonTestRunner.SKIP_TEST: + status = 'skipped' + elif retcode < 0: + status = 'hung' + else: + status = 'unknown' + + # Check return code and add result + self._result.status = status + self._result.addItem(['status', status]) + # Dump std out so we know what happened + print output + self._result.output = output + all_lines = output.split('\n') + # Find the test results + for line in all_lines: + entries = line.split(MantidStressTest.DELIMITER) + if len(entries) == 3 and entries[0] == MantidStressTest.PREFIX: + self._result.addItem([entries[1], entries[2]]) + + def setOutputMsg(self, msg=None): + if msg is not None: + self._result.output = msg + + def reportResults(self, reporters): + for r in reporters: + r.dispatchResults(self._result) + +######################################################################### +# The main API class +######################################################################### +class TestManager(object): + '''A manager class that is responsible for overseeing the testing process. + This is the main interaction point for the framework. + ''' + + def __init__(self, test_loc, runner = PythonConsoleRunner(), output = [TextResultReporter()], + testsInclude=None, testsExclude=None): + '''Initialize a class instance''' + + # Check whether the MANTIDPATH variable is set + mtdheader_dir = os.getenv("MANTIDPATH") + if mtdheader_dir is None: + raise RuntimeError('MANTIDPATH variable not be found. Please ensure Mantid is installed correctly.') + + # Runners and reporters + self._runner = runner + self._reporters = output + + # Init mantid + sys.path.append(os.path.abspath(mtdheader_dir).replace('\\','/')) + runner.setMantidDir(mtdheader_dir) + + # If given option is a directory + if os.path.isdir(test_loc) == True: + test_dir = os.path.abspath(test_loc).replace('\\','/') + sys.path.append(test_dir) + runner.setTestDir(test_dir) + self._tests = self.loadTestsFromDir(test_dir) + else: + if os.path.exists(test_loc) == False: + print 'Cannot find file ' + test_loc + '.py. Please check the path.' + exit(2) + test_dir = os.path.abspath(os.path.dirname(test_loc)).replace('\\','/') + sys.path.append(test_dir) + runner.setTestDir(test_dir) + self._tests = self.loadTestsFromModule(os.path.basename(test_loc)) + + if len(self._tests) == 0: + print 'No tests defined in ' + test_dir + '. Please ensure all test classes sub class stresstesting.MantidStressTest.' + exit(2) + + self._passedTests = 0 + self._skippedTests = 0 + self._failedTests = 0 + self._lastTestRun = 0 + + self._testsInclude = testsInclude + self._testsExclude = testsExclude + + # Create a prefix to use when executing the code + runner.createCodePrefix() + + totalTests = property(lambda self: len(self._tests)) + skippedTests = property(lambda self: (self.totalTests - self._passedTests - self._failedTests)) + passedTests = property(lambda self: self._passedTests) + failedTests = property(lambda self: self._failedTests) + + def __shouldTest(self, suite): + if self._testsInclude is not None: + if not self._testsInclude in suite.name: + suite.markAsSkipped("NotIncludedTest") + return False + if self._testsExclude is not None: + if self._testsExclude in suite.name: + suite.markAsSkipped("ExcludedTest") + return False + return True + + def executeTests(self): + # Get the defined tests + for suite in self._tests: + if self.__shouldTest(suite): + suite.execute(self._runner) + if suite.status == "success": + self._passedTests += 1 + elif suite.status == "skipped": + self._skippedTests += 1 + else: + self._failedTests += 1 + suite.reportResults(self._reporters) + self._lastTestRun += 1 + + def markSkipped(self, reason=None): + for suite in self._tests[self._lastTestRun:]: + suite.setOutputMsg(reason) + suite.reportResults(self._reporters) # just let people know you were skipped + + def loadTestsFromDir(self, test_dir): + ''' Load all of the tests defined in the given directory''' + entries = os.listdir(test_dir) + tests = [] + regex = re.compile('^.*\.py$', re.IGNORECASE) + for file in entries: + if regex.match(file) != None: + tests.extend(self.loadTestsFromModule(os.path.join(test_dir,file))) + return tests + + def loadTestsFromModule(self, filename): + ''' + Load test classes from the given module object which has been + imported with the __import__ statement + ''' + modname = os.path.basename(filename) + modname = modname.split('.py')[0] + path = os.path.dirname(filename) + pyfile = open(filename, 'r') + tests = [] + try: + mod = imp.load_module(modname, pyfile, filename, ("","",imp.PY_SOURCE)) + mod_attrs = dir(mod) + for key in mod_attrs: + value = getattr(mod, key) + if key is "MantidStressTest" or not inspect.isclass(value): + continue + if self.isValidTestClass(value): + test_name = key + tests.append(TestSuite(modname, test_name, filename)) + except Exception: + # Error loading the source, add fake unnamed test so that an error + # will get generated when the tests are run and it will be counted properly + tests.append(TestSuite(modname, None, filename)) + finally: + pyfile.close() + return tests + + def isValidTestClass(self, class_obj): + """Returns true if the test is a valid test class. It is valid + if: the class subclassses MantidStressTest and has no abstract methods + """ + if not issubclass(class_obj, MantidStressTest): + return False + # Check if the get_reference_file is abstract or not + if hasattr(class_obj, "__abstractmethods__"): + if len(class_obj.__abstractmethods__) == 0: + return True + else: + return False + else: + return True + +######################################################################### +# Class to handle the environment +######################################################################### +class MantidFrameworkConfig: + + def __init__(self, mantidDir=None, sourceDir=None, + loglevel='information', archivesearch=False): + # force the environment variable + if mantidDir is not None: + if os.path.isfile(mantidDir): + mantidDir = os.path.split(mantidDir)[0] + os.environ['MANTIDPATH'] = mantidDir + + # add it to the python path + directory = os.getenv("MANTIDPATH") + if directory is None: + raise RuntimeError("MANTIDPATH not found.") + else: + sys.path.append(directory) + if not os.path.isdir(os.path.join(directory, "mantid")): + raise RuntimeError("Did not find mantid package in %s" % directory) + + self.__sourceDir = self.__locateSourceDir(sourceDir) + + # add location of stress tests + self.__testDir = self.__locateTestsDir() + + # add location of the analysis tests + sys.path.insert(0,self.__locateTestsDir()) + + # setup the rest of the magic directories + parentDir = os.path.split(self.__sourceDir)[0] + self.__saveDir = os.path.join(parentDir, "logs/").replace('\\','/') + self.__dataDirs = [os.path.join(parentDir, "SystemTests"), + os.path.join(parentDir, "SystemTests/AnalysisTests/ReferenceResults"), + os.path.join(parentDir, "Data"), + os.path.join(parentDir, "Data/LOQ"), + os.path.join(parentDir, "Data/SANS2D"), + os.path.join(parentDir, "Data/PEARL"), + self.__saveDir + ] + + # set the log level + self.__loglevel = loglevel + self.__datasearch = archivesearch + + def __locateSourceDir(self, suggestion): + if suggestion is None: + loc = os.path.abspath(__file__) + suggestion = os.path.split(loc)[0] # get the directory + loc = os.path.abspath(suggestion) + loc = os.path.normpath(loc) + + if os.path.isdir(loc): + return loc + else: + raise RuntimeError("Failed to find source directory") + + def __locateTestsDir(self): + loc = os.path.join(self.__sourceDir, '../SystemTests/AnalysisTests') + loc = os.path.abspath(loc) + if os.path.isdir(loc): + return loc + else: + raise RuntimeError("'%s' is not a directory (AnalysisTests)" % loc) + + def __getDataDirs(self): + # get the file of the python script + testDir = os.path.split(self.__sourceDir)[0] + + # add things to the data search path + dirs =[] + dirs.append(os.path.join(testDir, "Data")) + dirs.append(os.path.join(testDir, "Data/LOQ")) + dirs.append(os.path.join(testDir, "Data/SANS2D")) + dirs.append(os.path.join(testDir, "Data/PEARL")) + dirs.append(os.path.join(testDir, "SystemTests")) + dirs.append(os.path.join(testDir, \ + "SystemTests/AnalysisTests/ReferenceResults")) + dirs.append(os.path.abspath(os.getenv("MANTIDPATH"))) + + dirs = [os.path.normpath(item) for item in dirs] + + return dirs + + def __moveFile(self, src, dst): + if os.path.exists(src): + import shutil + shutil.move(src, dst) + + def __copyFile(self, src, dst): + if os.path.exists(src): + import shutil + shutil.copyfile(src, dst) + + saveDir = property(lambda self: self.__saveDir) + testDir = property(lambda self: self.__testDir) + + def config(self): + if not os.path.exists(self.__saveDir): + print "Making directory %s to save results" % self.__saveDir + os.mkdir(self.__saveDir) + else: + if not os.path.isdir(self.__saveDir): + raise RuntimeError("%s is not a directory" % self.__saveDir) + + # Start mantid + import mantid + from mantid.kernel import config + + # backup the existing user properties so we can step all over it + self.__userPropsFile = config.getUserFilename() + self.__userPropsFileBackup = self.__userPropsFile + ".bak" + self.__userPropsFileSystest = self.__userPropsFile + ".systest" + self.__moveFile(self.__userPropsFile, self.__userPropsFileBackup) + + # Make sure we only save these keys here + config.reset() + + # Up the log level so that failures can give useful information + config['logging.loggers.root.level'] = self.__loglevel + # Set the correct search path + data_path = '' + for dir in self.__dataDirs: + if not os.path.exists(dir): + raise RuntimeError('Directory ' + dir + ' was not found.') + search_dir = dir.replace('\\','/') + if not search_dir.endswith('/'): + search_dir += '/' + data_path += search_dir + ';' + config['datasearch.directories'] = data_path + + # Save path + config['defaultsave.directory'] = self.__saveDir + + # Do not show paraview dialog + config['paraview.ignore'] = "1" + + # Do not update instrument definitions + config['UpdateInstrumentDefinitions.OnStartup'] = "0" + + # Disable usage reports + config['usagereports.enabled'] = "0" + + # Case insensitive + config['filefinder.casesensitive'] = 'Off' + + # datasearch + if self.__datasearch: + config["datasearch.searcharchive"] = 'On' + + # Save this configuration + config.saveConfig(self.__userPropsFile) + + def restoreconfig(self): + self.__moveFile(self.__userPropsFile, self.__userPropsFileSystest) + self.__moveFile(self.__userPropsFileBackup, self.__userPropsFile) + + +#============================================================================== +def envAsString(): + """Returns a string describing the environment + (platform) of this test.""" + if os.name == 'nt': + system = platform.system().lower()[:3] + arch = platform.architecture()[0][:2] + env = system + arch + elif os.name == 'mac': + env = platform.mac_ver()[0] + else: + env = platform.dist()[0] + "-" + platform.dist()[1] + return env diff --git a/Code/Mantid/Testing/SystemTests/lib/systemtests/xmlreporter.py b/Code/Mantid/Testing/SystemTests/lib/systemtests/xmlreporter.py new file mode 100644 index 000000000000..a991fe30f7df --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/lib/systemtests/xmlreporter.py @@ -0,0 +1,86 @@ +import os +import sys +from xml.dom.minidom import getDOMImplementation +import stresstesting + +class XmlResultReporter(stresstesting.ResultReporter): + + _time_taken = 0.0 + _failures = [] + _skipped = [] + + def __init__(self, showSkipped=True): + self._doc = getDOMImplementation().createDocument(None,'testsuite',None) + self._show_skipped = showSkipped + + def reportStatus(self): + return len(self._failures) == 0 + + def getResults(self): + # print the command line summary version of the results + self._failures.sort() + self._skipped.sort() + print + if self._show_skipped and len(self._skipped) > 0: + print "SKIPPED:" + for test in self._skipped: + print test.name + if len(self._failures) > 0: + print "FAILED:" + for test in self._failures: + print test.name + + # return the xml document version + docEl = self._doc.documentElement + docEl.setAttribute('name','SystemTests') + docEl.setAttribute('tests',str(len(docEl.childNodes))) + docEl.setAttribute('failures',str(len(self._failures))) + docEl.setAttribute('skipped', str(len(self._skipped))) + docEl.setAttribute('time',str(self._time_taken)) + return self._doc.toxml() + + def dispatchResults(self, result): + ''' This relies on the order and names of the items to give the correct output ''' + test_name = result.name.split('.') + if len(test_name) > 1: + class_name = '.'.join(test_name[:-1]) + name = test_name[-1] + else: + class_name = result.name + name = result.name + elem = self._doc.createElement('testcase') + elem.setAttribute('classname',"SystemTests." + class_name) + elem.setAttribute('name',name) + if result.status == 'skipped': + self._skipped.append(result) + skipEl = self._doc.createElement('skipped') + if len(result.output) > 0: + if "Missing required file" in result.output: + skipEl.setAttribute('message', "MissingRequiredFile") + else: + skipEl.setAttribute('message', result.output) + skipEl.appendChild(self._doc.createTextNode(result.output)) + elem.appendChild(skipEl) + elif result.status != 'success': + self._failures.append(result) + failEl = self._doc.createElement('failure') + failEl.setAttribute('file',result.filename) + output = '' + if len(result.output) > 0: + output += result.output + if len(output) > 0: + failEl.appendChild(self._doc.createTextNode(output)) + elem.appendChild(failEl) + else: + time_taken = 0.0 + for t in result.resultLogs(): + if t[0] == 'iteration time_taken': + time_taken = float(t[1].split(' ')[1]) + self._time_taken += time_taken + if t[0] == 'memory footprint increase': + memEl = self._doc.createElement('memory') + memEl.appendChild(self._doc.createTextNode(t[1])) + elem.appendChild(memEl) + elem.setAttribute('time',str(time_taken)) + elem.setAttribute('totalTime',str(time_taken)) + self._doc.documentElement.appendChild(elem) diff --git a/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py b/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py new file mode 100644 index 000000000000..cae938d474bb --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py @@ -0,0 +1,127 @@ +import os +import sys +import platform +import shutil +import subprocess +from getopt import getopt + +from mantidinstaller import (createScriptLog, log, stop, failure, scriptfailure, + get_installer, run) + +''' + +This script copies Mantid installer for the system it is running on from the build server, +installs it, runs system tests and produces an xml report file SystemTestsReport.xml + +''' + +try: + opt, argv = getopt(sys.argv[1:],'nohvR:l:') +except: + opt = [('-h','')] + +if ('-h','') in opt: + print "Usage: %s [OPTIONS]" % os.path.basename(sys.argv[0]) + print + print "Valid options are:" + print " -n Run tests without installing Mantid (it must be already installed)" + print " -o Output to the screen instead of log files" + print " -h Display the usage" + print " -R Optionally only run the test matched by the regex" + print " -l Log level" + sys.exit(0) + +doInstall = True +test_regex = None +out2stdout = False +log_level = 'notice' +for option, arg in opt: + if option == '-n': + doInstall = False + if option == '-o': + out2stdout = True + if option == '-R' and arg != "": + test_regex = arg + if option == '-l' and arg != "": + log_level = arg + +# The log file for this script +parentDir = os.path.abspath('..').replace('\\','/') +if not os.path.exists(parentDir + '/logs'): + os.mkdir(parentDir + '/logs') + +createScriptLog(parentDir + '/logs/TestScript.log') +testRunLogPath = parentDir + '/logs/testsRun.log' +testRunErrPath = parentDir + '/logs/testsRun.err' + +log('Starting system tests') +installer = get_installer(doInstall) + +# Install the found package +if doInstall: + log("Installing package '%s'" % installer.mantidInstaller) + try: + installer.install() + log("Application path " + installer.mantidPlotPath) + installer.no_uninstall = False + except Exception,err: + scriptfailure("Installing failed. "+str(err)) +else: + installer.no_uninstall = True + +# Ensure MANTIDPATH points at this directory so that +# the correct properties file is loaded +mantidPlotDir = os.path.dirname(installer.mantidPlotPath) +log('MantidPlot directory %s' % mantidPlotDir) +log('Pointing MANTIDPATH at MantidPlot directory %s' % mantidPlotDir) +os.environ["MANTIDPATH"] = mantidPlotDir + +try: + # Keep hold of the version that was run + version = run(installer.mantidPlotPath + ' -v') + version_tested = open('version_tested.log','w') + if version and len(version) > 0: + version_tested.write(version) + version_tested.close() +except Exception, err: + scriptfailure('Version test failed: '+str(err), installer) + +try: + # Now get the revision number/git commit ID (remove the leading 'g' that isn't part of it) + revision = run(installer.mantidPlotPath + ' -r').lstrip('g') + revision_tested = open('revision_tested.log','w') + if revision and len(version) > 0: + revision_tested.write(revision) + revision_tested.close() +except Exception, err: + scriptfailure('Revision test failed: '+str(err), installer) + +log("Running system tests. Log files are: logs/testsRun.log and logs/testsRun.err") +try: + # Pick the correct Mantid along with the bundled python on windows + run_test_cmd = "%s %s/runSystemTests.py --loglevel=%s --mantidpath=%s" % (installer.python_cmd, os.path.dirname(os.path.realpath(__file__)), log_level, mantidPlotDir) + if test_regex is not None: + run_test_cmd += " -R " + test_regex + if out2stdout: + p = subprocess.Popen(run_test_cmd, shell=True) # no PIPE: print on screen for debugging + p.wait() + else: + p = subprocess.Popen(run_test_cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True) + out,err = p.communicate() # waits for p to finish + testsRunLog = open(testRunLogPath,'w') + if out: + testsRunLog.write(out) + testsRunLog.close() + testsRunErr = open(testRunErrPath,'w') + if err: + testsRunErr.write(err) + testsRunErr.close() + if p.returncode != 0: + failure(installer) +except Exception, exc: + scriptfailure(str(exc),installer) +except: + failure(installer) + +# Test run completed successfully +stop(installer) diff --git a/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py new file mode 100644 index 000000000000..3b566b8f4e15 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py @@ -0,0 +1,242 @@ +"""Defines classes for handling installation +""" +import platform +import os +import glob +import sys +import subprocess + +scriptLog = None + +def createScriptLog(path): + global scriptLog + scriptLog = open(path,'w') + +def stop(installer): + ''' Save the log, uninstall the package and exit with error code 0 ''' + try: + installer.uninstall() + except Exception, exc: + log("Could not uninstall package %s: %s" % (installer.mantidInstaller, str(exc))) + scriptLog.close() + sys.exit(0) + +def log(txt): + ''' Write text to the script log file ''' + if txt and len(txt) > 0: + scriptLog.write(txt) + if not txt.endswith('\n'): + scriptLog.write('\n') + print txt + +def failure(installer): + ''' Report failure of test(s), try to uninstall package and exit with code 1 ''' + try: + installer.uninstall() + except Exception, exc: + log("Could not uninstall package %s: %s" % (installer.mantidInstaller, str(exc))) + pass + + log('Tests failed') + print 'Tests failed' + sys.exit(1) + +def scriptfailure(txt, installer=None): + '''Report failure of this script, try to uninstall package and exit with code 1 ''' + if txt: + log(txt) + if installer is not None: + try: + installer.uninstall() + except Exception: + log("Could not uninstall package %s " % self.mantidInstaller) + scriptLog.close() + sys.exit(1) + + +def get_installer(do_install=True): + """ + Creates the correct class for the current platform + @param do_install :: True if installation is to be performed + """ + system = platform.system() + if system == 'Windows': + return NSISInstaller(do_install) + elif system == 'Linux': + dist = platform.dist() + if dist[0] == 'Ubuntu': + return DebInstaller(do_install) + elif dist[0] == 'redhat' and (dist[1].startswith('5.') or dist[1].startswith('6.')): + return RPMInstaller(do_install) + else: + scriptfailure('Unknown Linux flavour: %s' % str(dist)) + elif system == 'Darwin': + return DMGInstaller(do_install) + else: + raise scriptfailure("Unsupported platform") + +def run(cmd): + """Run a command in a subprocess""" + try: + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True) + out = p.communicate()[0] + if p.returncode != 0: + raise Exception('Returned with code '+str(p.returncode)+'\n'+out) + except Exception,err: + log('Error in subprocess %s:\n' % str(err)) + raise + log(out) + return out + + +class MantidInstaller(object): + """ + Base-class for installer objects + """ + mantidInstaller = None + mantidPlotPath = None + no_uninstall = False + python_cmd = "python" + + def __init__(self, do_install, filepattern): + """Initialized with a pattern to + find a path to an installer + """ + if not do_install: + return + # Glob for packages + matches = glob.glob(os.path.abspath(filepattern)) + if len(matches) > 0: + # This will put the release mantid packages at the start and the nightly ones at the end + # with increasing version numbers + matches.sort() + # Make sure we don't get Vates + for match in matches: + if 'vates'in match: + matches.remove(match) + # Take the last one as it will have the highest version number + if len(matches) > 0: + self.mantidInstaller = os.path.join(os.getcwd(), matches[-1]) + log("Using installer " + self.mantidInstaller) + else: + raise RuntimeError('Unable to find installer package in "%s"' % os.getcwd()) + + def install(self): + self.do_install() + + def do_install(self): + raise NotImplementedError("Override the do_install method") + + def uninstall(self): + if not self.no_uninstall: + self.do_uninstall() + + def do_uninstall(self): + raise NotImplementedError("Override the do_uninstall method") + +class NSISInstaller(MantidInstaller): + """Uses an NSIS installer + to install Mantid + """ + + def __init__(self, do_install): + MantidInstaller.__init__(self, do_install, 'Mantid-*-win*.exe') + self.mantidPlotPath = 'C:/MantidInstall/bin/MantidPlot.exe' + self.python_cmd = "C:/MantidInstall/bin/python.exe" + + def do_install(self): + """ + The NSIS installer spawns a new process and returns immediately. + We use the start command with the /WAIT option to make it stay around + until completion. + The chained "&& exit 1" ensures that if the return code of the + installer > 0 then the resulting start process exits with a return code + of 1 so we can pick this up as a failure + """ + run('start "Installer" /wait ' + self.mantidInstaller + ' /S') + + def do_uninstall(self): + "Runs the uninstall exe" + uninstall_path = 'C:/MantidInstall/Uninstall.exe' + run('start "Uninstaller" /wait ' + uninstall_path + ' /S') + +class DebInstaller(MantidInstaller): + """Uses a deb package to install mantid + """ + + def __init__(self, do_install): + MantidInstaller.__init__(self, do_install, 'mantid*.deb') + package = os.path.basename(self.mantidInstaller) + if 'mantidnightly' in package: + self.mantidPlotPath = '/opt/mantidnightly/bin/MantidPlot' + elif 'mantidunstable' in package: + self.mantidPlotPath = '/opt/mantidunstable/bin/MantidPlot' + else: + self.mantidPlotPath = '/opt/Mantid/bin/MantidPlot' + + def do_install(self): + """Uses gdebi to run the install + """ + run('sudo gdebi -n ' + self.mantidInstaller) + + def do_uninstall(self): + """Removes the debian package + """ + package_name = os.path.basename(self.mantidInstaller).split("_")[0] + run('sudo dpkg --purge %s' % package_name) + +class RPMInstaller(MantidInstaller): + """Uses a rpm package to install mantid + """ + + def __init__(self, do_install): + MantidInstaller.__init__(self, do_install, 'mantid*.rpm') + package = os.path.basename(self.mantidInstaller) + if 'mantidnightly' in package: + self.mantidPlotPath = '/opt/mantidnightly/bin/MantidPlot' + elif 'mantidunstable' in package: + self.mantidPlotPath = '/opt/mantidunstable/bin/MantidPlot' + else: + self.mantidPlotPath = '/opt/Mantid/bin/MantidPlot' + + def do_install(self): + """Uses yum to run the install. Current user must be in sudoers + """ + try: + run('sudo yum -y install ' + self.mantidInstaller) + except Exception, exc: + # This reports an error if the same package is already installed + if 'is already installed' in str(exc): + log("Current version is up-to-date, continuing.\n") + pass + else: + raise + + def do_uninstall(self): + """Removes the rpm package + """ + package_name = os.path.basename(self.mantidInstaller).split("-")[0] + run('sudo yum -y erase %s' % package_name) + + +class DMGInstaller(MantidInstaller): + """Uses an OS X dmg file to install mantid + """ + def __init__(self, do_install): + MantidInstaller.__init__(self, do_install, 'mantid-*.dmg') + self.mantidPlotPath = '/Applications/MantidPlot.app/Contents/MacOS/MantidPlot' + os.environ['DYLD_LIBRARY_PATH'] = '/Applications/MantidPlot.app/Contents/MacOS' + + def do_install(self): + """Mounts the dmg and copies the application into the right place. + """ + p = subprocess.Popen(['hdiutil','attach',self.mantidInstaller],stdin=subprocess.PIPE,stdout=subprocess.PIPE) + p.stdin.write('yes') # This accepts the GPL + p.communicate()[0] # This captures (and discards) the GPL text + mantidInstallerName = os.path.basename(self.mantidInstaller) + mantidInstallerName = mantidInstallerName.replace('.dmg','') + run('sudo cp -r /Volumes/'+ mantidInstallerName+'/MantidPlot.app /Applications/' ) + run('hdiutil detach /Volumes/'+ mantidInstallerName+'/') + + def do_uninstall(self): + run('sudo rm -fr /Applications/MantidPlot.app/') diff --git a/Code/Mantid/Testing/SystemTests/scripts/performance/README.txt b/Code/Mantid/Testing/SystemTests/scripts/performance/README.txt new file mode 100644 index 000000000000..717d3e96cfe6 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/performance/README.txt @@ -0,0 +1 @@ +This is basically a fork of the performance test support code in the main Mantid repository (https://github.com/mantidproject/mantid/tree/master/Test/PerformanceTests) to enable performance monitoring of the system tests in a similar fashion. diff --git a/Code/Mantid/Testing/SystemTests/scripts/performance/analysis.py b/Code/Mantid/Testing/SystemTests/scripts/performance/analysis.py new file mode 100644 index 000000000000..c6d3429fae11 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/performance/analysis.py @@ -0,0 +1,699 @@ +""" Module containing functions for test +performance analyis, plotting, and saving +to other formats (CSV, PDF) """ + +import testresult +import os +import sys +import sqlresults +from sqlresults import get_results +import matplotlib +from pylab import * +import numpy as np +import datetime +import random + +# This is the date string format as returned by the database +DATE_STR_FORMAT = "%Y-%m-%d %H:%M:%S.%f" + +#============================================================================================ +def get_orderby_clause(last_num): + """Returns a order by clause that limits to the last # revisions """ + if last_num > 0: + return " ORDER BY revision DESC limit %d" % last_num + else: + return '' + + +#============================================================================================ +def get_data(name='', type='', x_field='revision', y_field='runtime', last_num=-1): + """Get the test runtime/iteration as a function of an X variable. + + Parameters + ---------- + name :: full name of the test + type :: type of test to filter by + x_field :: name of the field for the X axis. + e.g. 'revision' (default) + or 'date' : exact date/time of launch + or 'index' : using the date, but returning an index of build # + instead of the date (better scaling) + last_num :: only get the last this-many entries from the table, sorted by revision. + if < 0, then get everything + + Returns + ------- + x :: list of X values, sorted increasing + y :: list of runtime/iteration for each x + """ + + results = get_results(name, type, where_clause='', orderby_clause=get_orderby_clause(last_num)) + + # Data dict. Key = X variable; Value = (iterations total, runtime total) + data = {} + for res in results: + # Get the x field value + if x_field == 'index': + x = res['date'] + else: + x = res[x_field] + + if data.has_key(x): + old = data[x] + iters = old[0] + 1 # Iterations + runtime = old[1] + res[y_field] + else: + iters = 1 + runtime = res[y_field] + # Save the # of iterations and runtime + data[x] = (iters, runtime) + + # Now make a sorted list of (x, runtime/iteration) + sorted = [(x, y[1]/y[0]) for (x,y) in data.items()] + sorted.sort() + + x = [a for (a,b) in sorted] + # For index, convert into an integer index + if x_field == 'index': + x = range( len(x) ) + y = [b for (a,b) in sorted] + + return (x,y) + + +#============================================================================================ +def get_unique_fields(results, field): + """Given a list of TestResult, return a + list of all unique values of 'field'""" + out = set() + for res in results: + out.add( res[field] ) + return list(out) + +#============================================================================================ +def get_results_matching(results, field, value): + """Given a list of TestResult, + return a list of TestResult's where 'field' matches 'value'.""" + out = [] + for res in results: + if res[field] == value: + out.append(res) + return out + + +#============================================================================================ +def smart_ticks(index, values): + """On the current figure, set the ticks at X positions + given by index, with value given by values (ints). + But it tries to space them out in a reasonable way. + """ + if type(values[0]).__name__ == "unicode": + # Make the array of dates + dates = [] + for val in values: + try: + datetime.datetime.strptime(val, DATE_STR_FORMAT) + dates.append(val) + except: + pass + if len(dates) == 0: return + td = dates[-1] - dates[0] + if (td < datetime.timedelta(hours=1)): + values_str = [d.strftime("%M:%S") for d in dates] + elif (td < datetime.timedelta(days=1)): + values_str = [d.strftime("%H:%M") for d in dates] + else: + values_str = [d.strftime("%m-%d, %H:%M") for d in dates] + else: + # convert to list of strings + values_str = [str(val) for val in values] + + if len(values_str) == 0: return + + w = gcf().get_figwidth()*gcf().get_dpi() + spacing = w/len(index) + + tick_index = [] + tick_strings = [] + + space_available = 0 + for i in xrange(len(index)): + s = str(values_str[i]); + s_width = (len(s)+1) * 12.0 # About 12 pixels per letter? And add a space + space_available +=spacing + if space_available >= s_width: + space_available = 0 + tick_index.append(i) + tick_strings.append(s) + + xticks( tick_index, tick_strings ) + + + +#============================================================================================ +def plot_success_count(type='system', last_num=-1, x_field='revision'): + """ Plot the count of successful/failed tests vs revision number + + Parameters + ---------- + type :: 'system', or 'performance' + """ + results = get_results('', type, where_clause='', orderby_clause=get_orderby_clause(last_num)) + revisions = get_unique_fields(results, x_field) + + # Go through each revision + success = [] + fail = [] + for revision in revisions: + these = get_results_matching(results, x_field, revision) + succeeded = 0 + failed = 0 + for res in these: + if res["success"]: + succeeded += 1 + else: + failed += 1 + # Keep the list of them + success.append(succeeded) + fail.append(failed) + + figure() + revisions = np.array(revisions) + fail = np.array(fail) + success = np.array(success) + + index = np.arange(len(revisions)) +# p1 = bar(index, fail, color='r') +# p2 = bar(index, success, color='g', bottom=fail) +# legend( (p1[0], p2[0]), ('Failure', 'Success') ) + + p1 = fill_between(index, fail, 0, color='r') + p2 = fill_between(index, success+fail, fail, color='g') + #legend( (p1, p2), ('Failure', 'Success') ) + + smart_ticks( index, revisions) + + + ylabel('Success/Fail') + xlabel(x_field) + revsare = "all revs" + if last_num > 0: revsare = "last %d revs" % last_num + title("Success/Fail History of %s tests (%s)" % (type, revsare)) + + +#============================================================================================ +def plot_runtime(*args, **kwargs): + """ Call get_data() + + Parameters + ---------- + - See get_data() for the full list + """ + (x,y) = get_data(*args, **kwargs) + + figure() + index = np.arange(len(x)) + plot(index,y,'-b.') + smart_ticks( index, x) + ylabel('Runtime/iteration (sec)') + xlabel(kwargs['x_field']) + + last_num =kwargs.get('last_num',-1) + if last_num > 0: + title("Runtime History of %s (last %d revs)" % (kwargs['name'], kwargs["last_num"]) ) + else: + title("Runtime History of %s (all revs)" % kwargs['name']) + + + + +#============================================================================================ +def plot_memory(*args, **kwargs): + """ Call get_data() + + Parameters + ---------- + - See get_data() for the full list + """ + (x,y) = get_data(*args, **kwargs) + + figure() + index = np.arange(len(x)) + plot(index,y,'-b.') + smart_ticks( index, x) + ylabel("Memory 'loss' (MB)") + xlabel(kwargs['x_field']) + + last_num =kwargs.get('last_num',-1) + if last_num > 0: + title("Memory History of %s (last %d revs)" % (kwargs['name'], kwargs["last_num"]) ) + else: + title("Memory History of %s (all revs)" % kwargs['name']) + + + + + + + + + + + +# The default HTML header +default_html_header = """ + +""" + +default_html_footer = """""" + +#============================================================================================ +def make_css_file(path): + """ Make a save the report.css file to be used by all html """ + default_css = """ +table +{ +border-collapse:collapse; +background-color:FFAAAA; +} +table, th, td +{ +border: 1px solid black; +padding: 2px 6px; +} +.failedrow, .failedrow TD, .failedrow TH +{ +background-color:#FFAAAA; +color:black; +} +.alternaterow, .alternaterow TD, .alternaterow TH +{ +background-color:#FFFFAA; +color:black; +} +.error +{ +color:red; +font-weight: bold; +} + + """ + f = open(os.path.join(path, "report.css"), 'w') + f.write(default_css) + f.close() + +#============================================================================================ +def make_environment_html(res): + """Return a HTML string with details of test environment, taken from the + 'res' TestResult object""" + html = """ + + + +
Host name: %s
Environment: %s
Type of runner: %s
+ """ % (res['host'], res['environment'], res['runner']) + return html + +#============================================================================================ +def make_detailed_html_file(basedir, name, fig1, fig2, fig3, fig4, last_num): + """ Create a detailed HTML report for the named test """ + html = default_html_header + html += """

Detailed report for %s


""" % (name) + html += """runtime vs revision number (latest %d entries)\n""" % (fig1, last_num) + html += """runtime vs revision number\n""" % (fig2) + html += """memory vs revision number (latest %d entries)\n""" % (fig3, last_num) + html += """memory vs revision number\n""" % (fig4) + html += """

Test Results

""" + + fields = ['revision', 'date', 'commitid', 'compare', 'status', 'runtime', 'cpu_fraction', 'memory_change', 'variables'] + + table_row_header = "" + for field in fields: + if field == "runtime": field = "Runtime/Iter." + if field == "memory_change": field = "Memory 'loss'" + field = field[0].upper() + field[1:] + table_row_header += "%s" % field + table_row_header += "" + + html += """""" + table_row_header + + table_html = '' + results = get_results(name, type='', where_clause='') + sorted = [(res["revision"], res["variables"], res["date"], res) for res in results] + sorted.sort(reverse=False) + count = 0 + last_rev = 0 + commitid = '' + last_commitid = '' + row_class = '' + table_rows = [] + for (rev, variable, date, res) in sorted: + table_row_html = '' + if (rev != last_rev): + # Changed SVN revision. Swap row color + if row_class == '': + row_class = "class=alternaterow" + else: + row_class = '' + last_rev = rev + + if commitid != last_commitid: + last_commitid = commitid + + if res["success"]: + table_row_html += "\n" % row_class + else: + table_row_html += "\n" + + for field in fields: + val = '' + + if field == 'compare': + # Comparison to previous commit, if anything can be done + if (last_commitid != ""): + val = """diff""" % (last_commitid, commitid) + + else: + # Normal fields + val = res[field] + + # Trim the fractional seconds + if field=="date": + val = str(val)[0:19] + + # Add a trac link + if field=="commitid": + commitid = val + partial_commitid = val + if (len(partial_commitid) > 7): partial_commitid = partial_commitid[0:7]; + val = """%s""" % (commitid, partial_commitid) + + if field=="runtime": + val = "%.3f" % (res["runtime"]) + + table_row_html += "" % val + table_row_html += "\n\n" + table_rows.append(table_row_html) + + # Now print out all the rows in reverse order + table_rows.reverse() + for row in table_rows: + html += row +# # Add the row header every 30 entries +# count += 1 +# if count % 30 == 0: html += table_row_header + + # And one more at the end for good measure + html += table_row_header + html += "
%s
" + + if len(results)> 0: + html += """

Environment

+ %s""" % make_environment_html(results[0]) + + html += default_html_footer + +# last_date = sorted[-1][1]["date"] +# results = get_results(name, type='', get_log=False, where_clause=" date = '%s'" % last_date) +# if len(results)>0: +# html += + + f = open(os.path.join(basedir, "%s.htm" % name), "w") + html = html.replace("\n", os.linesep) # Fix line endings for windows + f.write(html) + f.close() + + +#============================================================================================ +def how_long_ago(timestr): + """Returns a string giving how long ago something happened, + in human-friendly way """ + import time + now = datetime.datetime.now() + then = datetime.datetime.strptime(timestr, DATE_STR_FORMAT) + td = (now-then) + sec = td.seconds + min = int(sec / 60) + hours = int(min / 60) + days = td.days + weeks = int(days / 7) + sec = sec % 60 + min = min % 60 + hours = hours % 24 + days = days % 7 + + if weeks > 0: + return "%dw%dd" % (weeks,days) + elif days > 0: + return "%dd%dh" % (days, hours) + elif hours > 0: + return "%dh%dm" % (hours, min) + elif min > 0: + return "%dm%ds" % (min, sec) + else: + return "%ds" % (sec) + + return "" + + +#============================================================================================ +def get_html_summary_table(test_names): + """Returns a html string summarizing the tests with these names """ + html = """ + + + + + + + + """ + + for name in test_names: + res = sqlresults.get_latest_result(name) + if not res is None: + # Calculate how long ago + + if not res["success"]: + html += """""" + else: + html += """""" + html += """""" % (name, name) + html += """""" % res['type'] + html += """""" % res['status'] + + # Friendly date + try: + date = datetime.datetime.strptime(res['date'], DATE_STR_FORMAT) + html += """""" % date.strftime("%b %d, %H:%M:%S") + except: + html += """""" + + html += """""" % res['runtime'] + html += """""" % res['memory_change'] + html += """""" + + html += """
Test NameTypeStatusWhen?Total runtime (s)Memory 'loss'
%s%s%s%s%s%s
""" + return html + + +#============================================================================================ +def generate_html_subproject_report(path, last_num, x_field='revision', starts_with=""): + """ HTML report for a subproject set of tests. + + starts_with : the prefix of the test name + + Returns: (filename saved, HTML for a page with ALL figures in it) + """ + basedir = os.path.abspath(path) + if not os.path.exists(basedir): + os.mkdir(basedir) + + + # Detect if you can do figures + dofigs = True + try: + figure() + rcParams['axes.titlesize'] = 'small' + except: + dofigs = False + + # Start the HTML + overview_html = "" + + # ------ Find the test names of interest ---------------- + # Limit with only those tests that exist in the latest rev + latest_rev = sqlresults.get_latest_revison() + temp_names = list(sqlresults.get_all_test_names(" revision = %d" % latest_rev)) + # Filter by their start + test_names = [] + for name in temp_names: + if name.startswith(starts_with): + test_names.append(name) + + test_names.sort() + + # -------- Report for each test ------------------------ + for name in test_names: + print "Plotting", name + overview_html += """

%s

\n""" % name + + # Path to the figures + fig1 = "%s.runtime.v.revision.png" % name + fig2 = "%s.runtime.v.revision.ALL.png" % name + fig3 = "%s.memory.v.revision.png" % name + fig4 = "%s.memory.v.revision.ALL.png" % name + + if dofigs: + # Only the latest X entries + plot_runtime(name=name,x_field=x_field,last_num=last_num) + savefig(os.path.join(basedir, fig1)) + close() + + # Plot all svn times + plot_runtime(name=name,x_field=x_field,last_num=-1) + savefig(os.path.join(basedir, fig2)) + close() + + # Only the latest X entries + plot_memory(name=name,x_field=x_field,y_field='memory_change',last_num=last_num) + savefig(os.path.join(basedir, fig3)) + close() + + # Plot all svn times + plot_memory(name=name,x_field=x_field,y_field='memory_change',last_num=-1) + savefig(os.path.join(basedir, fig4)) + close() + + overview_html += """runtime vs revision number""" % (fig1) + overview_html += """memory vs revision number\n""" % (fig3) + + make_detailed_html_file(basedir, name, fig1, fig2, fig3, fig4, last_num) + detailed_html = """
Detailed test report for %s +

+ """ % (name, name) + overview_html += detailed_html + + filename = starts_with + ".htm" + + return (filename, overview_html) + + + +#============================================================================================ +def generate_html_report(path, last_num, x_field='revision'): + """Make a comprehensive HTML report of runtime history for all tests. + Parameters + ---------- + path :: base path to the report folder + last_num :: in the shorter plot, how many SVN revs to show? + x_field :: the field to use as the x-axis. 'revision' or 'date' make sense + """ + basedir = os.path.abspath(path) + if not os.path.exists(basedir): + os.mkdir(basedir) + + # Make the CSS file to be used by all HTML + make_css_file(path) + + # Detect if you can do figures + dofigs = True + try: + figure() + except: + dofigs = False + + # --------- Start the HTML -------------- + html = default_html_header + html += """

Mantid System Tests Auto-Generated Report

""" + html += """

See an overview of performance plots for all tests by clicking here.

""" + if not dofigs: + html += """

There was an error generating plots. No figures will be present in the report.

""" + + html += """

Run Environment

+ %s + """ % ( make_environment_html(sqlresults.get_latest_result()) ) + + overview_html = "" + + # ------ Find the test names of interest ---------------- + # Limit with only those tests that exist in the latest rev + latest_rev = sqlresults.get_latest_revison() + test_names = list(sqlresults.get_all_test_names(" revision = %d" % latest_rev)) + test_names.sort() + + # ------ Find a list of subproject names -------- + subprojects = set() + for name in test_names: + n = name.find(".") + if n > 0: + subprojects.add( name[:n] ) + subprojects = list(subprojects) + subprojects.sort() + html += """

Test Subprojects

+ + """ + + for subproject in subprojects: + (filename, this_overview) = generate_html_subproject_report(path, last_num, x_field, subproject) + overview_html += this_overview + html += """ + """ % (filename, subproject) + html += """
%s
""" + + # --------- Table with the summary of latest results -------- + html += """

Overall Results Summary

""" + html += get_html_summary_table(test_names) + + # -------- Overall success history graphs ------------ + #if dofigs: + # # We report the overall success + # fig_path = "OverallSuccess.png" + # plot_success_count(type='',last_num=last_num, x_field=x_field) + # savefig(os.path.join(basedir, fig_path)) + # close() + # + # fig_path2 = "OverallSuccess.ALL.png" + # plot_success_count(type='',last_num=-1, x_field=x_field) + # savefig(os.path.join(basedir, fig_path2)) + # close() + # + # html += """

Overall Success/Failure

+ # + # + # """ % (fig_path, fig_path2) + + html += default_html_footer + + f = open(os.path.join(basedir, "report.htm"), "w") + html = html.replace("\n", os.linesep) # Fix line endings for windows + f.write(html) + f.close() + + # -------- Overview of plots ------------ + f = open(os.path.join(basedir, "overview_plot.htm"), "w") + overview_html = overview_html.replace("\n", os.linesep) # Fix line endings for windows + f.write(overview_html) + f.close() + + print "Report complete!" + + + + +#============================================================================================ +if __name__ == "__main__": + sqlresults.set_database_filename("MyFakeData.db") + # Make up some test data + if 0: + if os.path.exists("MyFakeData.db"): os.remove("MyFakeData.db") + sqlresults.generate_fake_data(300) + + + generate_html_report("../Report", 50) + +# plot_runtime(name='MyFakeTest', x_field='revision') +# plot_runtime(name='MyFakeTest', x_field='date') +# plot_success_count() +# show() + diff --git a/Code/Mantid/Testing/SystemTests/scripts/performance/make_report.py b/Code/Mantid/Testing/SystemTests/scripts/performance/make_report.py new file mode 100755 index 000000000000..1934d84e2a19 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/performance/make_report.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python + +import argparse +import sys +import os +import subprocess +import sqlite3 + +#==================================================================================== +def getSourceDir(): + """Returns the location of the source code.""" + import os + import sys + script = os.path.abspath(sys.argv[0]) + if os.path.islink(script): + script = os.path.realpath(script) + return os.path.dirname(script) + + + +def join_databases(dbfiles): + """Create a single DB joining several ones + Returns: filename created + """ + outfile = os.path.join(os.path.dirname(dbfiles[0]), "JoinedDatabases.db") + all_results = [] + # Get the results of each file + for dbfile in dbfiles: + print "Reading", dbfile + sqlresults.set_database_filename(dbfile) + these_results = sqlresults.get_results("") + all_results += these_results + # Write them into one + sqlresults.set_database_filename(outfile) + sqlresults.setup_database() + reporter = sqlresults.SQLResultReporter() + for res in all_results: + reporter.dispatchResults(res) + # Done! + return outfile + + + +#==================================================================================== +if __name__ == "__main__": + # Parse the command line + parser = argparse.ArgumentParser(description='Generates a HTML report using the Mantid System Tests results database') + + parser.add_argument('--path', dest='path', + default="./Report", + help='Path to the ouput HTML. Default "./Report".' ) + + parser.add_argument('--x_field', dest='x_field', + default="revision", + help="Field to use as the x-axis. Default: 'revision'. Other possibilities: 'date'.") + + parser.add_argument('dbfile', metavar='DBFILE', type=str, nargs='+', + default=["./MantidSystemTests.db"], + help='Required: Path to the SQL database file(s).') + + + args = parser.parse_args() + + # Import the manager definition + import analysis + import sqlresults + + if len(args.dbfile) > 1: + # Several files - join them into one big .db + dbfile = join_databases(args.dbfile) + else: + # Only one file - use it + dbfile = args.dbfile[0] + + + if not os.path.exists(dbfile): + print "Error! Could not find", dbfile + sys.exit(1) + + # This is where we look for the DB file + sqlresults.set_database_filename(dbfile) + + # Make the report + analysis.generate_html_report(args.path, 100, args.x_field) \ No newline at end of file diff --git a/Code/Mantid/Testing/SystemTests/scripts/performance/reporters.py b/Code/Mantid/Testing/SystemTests/scripts/performance/reporters.py new file mode 100644 index 000000000000..a2852ec1f4dd --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/performance/reporters.py @@ -0,0 +1,126 @@ +import os +import sys + +######################################################################### +# A base class to support report results in an appropriate manner +######################################################################### +class ResultReporter(object): + ''' + A base class for results reporting. In order to get the results in an + appropriate form, subclass this class and implement the dispatchResults + method. + ''' + + def __init__(self): + '''Initialize a class instance, e.g. connect to a database''' + pass + + def dispatchResults(self, result): + """ + Parameters + result: a TestResult object """ + raise NotImplementedError('"dispatchResults(self, result)" should be overridden in a derived class') + + +######################################################################### +# A class to report results as formatted text output +######################################################################### +class TextResultReporter(ResultReporter): + ''' + Report the results of a test using standard out + ''' + + def dispatchResults(self, result): + ''' + Print the results to standard out + ''' + nstars = 30 + print '*' * nstars + for (name, val) in result.data.items(): + str_val = str(val) + str_val = str_val.replace("\n", " ") + if len(str_val) > 50: + str_val = str_val[:50] + " . . . " + print ' ' + name.ljust(15) + '-> ', str_val + print '*' * nstars + + +######################################################################### +# A class to report results as formatted text output +######################################################################### +class LogArchivingReporter(ResultReporter): + ''' + Report the results of a test using standard out + ''' + def __init__(self, logarchive): + # Path to a log archiving folder + self.logarchive = os.path.abspath(logarchive) + if not os.path.exists(self.logarchive): + os.mkdir(self.logarchive) + + def dispatchResults(self, result): + ''' + Print the results to standard out + ''' + fullpath = os.path.join(self.logarchive, result.get_logarchive_filename()) + f = open(fullpath, "w") + f.write(result["log_contents"]) + f.close() + +######################################################################### +# A class to report results as XML that Hudson can interpret +######################################################################### +class JUnitXMLReporter(ResultReporter): + ''' + Report the results of a test to a JUnit style XML format + that can be read by Hudson/Jenkins + ''' + + def __init__(self, path): + # Path to .xml files + self._path = path + + def dispatchResults(self, result): + ''' + Make a junit .xml file + ''' + fullpath = os.path.join(self._path, "%s.xml" % result["name"]) + f = open(fullpath, 'w') + + names = result["name"].split(".") + suitename = names[0] + testname = ".".join(names[1:]) + + failure = "" + num_failures = 0 + if not result["success"]: + failure = """\n %s + """ % (result["status"], result["log_contents"]) + num_failures = 1 + + f.write(""" + + %s + + +""" % (suitename, num_failures, testname, result["runtime"], suitename, failure) ) + + + +if __name__=="__main__": + import testresult + rep = JUnitXMLReporter(".") + + res = testresult.TestResult() + res["name"] = "MyTestTest.Test" + res["status"] = "success maybe?" + res["success"] = True + res["runtime"] = 1.234 + rep.dispatchResults(res) + + res = testresult.TestResult() + res["name"] = "MyTestTest.OtherTest" + res["status"] = "failure" + res["success"] = False + res["runtime"] = 3.456 + rep.dispatchResults(res) diff --git a/Code/Mantid/Testing/SystemTests/scripts/performance/sqlresults.py b/Code/Mantid/Testing/SystemTests/scripts/performance/sqlresults.py new file mode 100644 index 000000000000..b7eb3e4289c4 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/performance/sqlresults.py @@ -0,0 +1,327 @@ +try: + import sqlite3 + has_sql = True +except ImportError: + has_sql = False + print "Error importing sqlite3. SQL will not work" + +import reporters +import datetime +import testresult +import os +import shutil +import math +import random + +#==================================================================================== +def getSourceDir(): + """Returns the location of the source code.""" + import os + import sys + script = os.path.abspath(sys.argv[0]) + if os.path.islink(script): + script = os.path.realpath(script) + return os.path.dirname(script) + + +#===================================================================== +# These are the table fields, in order +TABLE_FIELDS = ['date', 'name', 'type', 'host', 'environment', 'runner', + 'revision', 'commitid', 'runtime', 'cpu_fraction', + 'memory_change', 'success', + 'status', 'logarchive', 'variables'] + +#===================================================================== +# The default path to the database file +database_file = os.path.join(getSourceDir(), "MantidSystemTests.db") + +#===================================================================== +def get_database_filename(): + """Return the path to the database to use """ + return database_file + +#===================================================================== +def set_database_filename(value): + """Override the default database location""" + global database_file + database_file = value + +#===================================================================== +def SQLgetConnection(): + """ Get a connection to the SQL database """ + # These are automatic conversion factors + return sqlite3.connect(get_database_filename()) + + +#===================================================================== +def get_TestResult_from_row(row): + """Return a filled TestResult object from a "row" + obtained by selecting * from the TestRuns table + Returns + ------- + result :: TestResult object, with an extra + .testID member containing the ID into the table (testID field) + """ + res = testresult.TestResult() + res.testID = row[0] + # ------ Get each entry in the table --------- + for i in xrange(len(TABLE_FIELDS)): + res[TABLE_FIELDS[i]] = row[i+1] + + return (res) + + +#===================================================================== +def get_latest_result(name=''): + """Returns a TestResult object corresponding to the + last result in the table + Parameters + ---------- + name :: optional, test name to filter by""" + db = SQLgetConnection() + c = db.cursor() + where = "" + if name != "": where = " WHERE name='%s'" % name + query = """SELECT * FROM TestRuns %s ORDER BY testID DESC LIMIT 1;""" % where + c.execute(query) + # Get all rows - there should be only one + rows = c.fetchall() + c.close() + + if len(rows) > 0: + res = get_TestResult_from_row(rows[0]) + return res + else: + return None + +#===================================================================== +def get_results(name, type="", where_clause='', orderby_clause=''): + """Return a list of testresult.TestResult objects + generated from looking up in the table + Parameters: + name: test name to search for. Empty string = don't limit by name + type: limit by type; default empty string means = don't limit by type. + get_log : set to True to retrieve the log_contents too. + where_clause : an additional SQL "where" clause to further limit the search. + Do not include the WHERE keyword! + e.g "date > 2010 AND environment='mac'". + orderby_clause : a clause to order and/or limit the results. + e.g. "ORDER BY revision DESC limit 100" to get only the latest 100 revisions. + """ + out = [] + + db = SQLgetConnection() + c = db.cursor() + + query = "SELECT * FROM TestRuns " + + # Build up the where clause + where_clauses = [] + if name != "": + where_clauses.append(" name = '%s'" % name) + if (type != ""): + where_clauses.append(" type = '%s'" % type) + if (where_clause != ""): + where_clauses.append(" (" + where_clause + ")") + # Add it to the query + if len(where_clauses) > 0: + query += "WHERE " + " AND ".join(where_clauses) + # Now the ordering clause + query += " " + orderby_clause + + c.execute(query) + + # Get all rows + rows = c.fetchall() + + for row in rows: + # Turn the row into TestResult + res = get_TestResult_from_row(row) + + out.append(res) + c.close() + return out + + +#===================================================================== +def get_all_field_values(field_name, where_clause=""): + """Return a list of every entry of the given + field (e.g. 'name' or 'environment'). + Parameters: + field_name: field/column name to search for. + where_clause : an additional SQL "where" clause to further limit the search. + Do not include the WHERE keyword! + e.g "date > 2010 AND environment='mac'". + + """ + db = SQLgetConnection() + c = db.cursor() + + query = "SELECT (%s) FROM TestRuns " % field_name + if (where_clause != ""): + query += "WHERE " + where_clause + + c.execute(query) + + # Get all rows + rows = c.fetchall() + + out = [x for (x,) in rows] + + return out + +#===================================================================== +def get_latest_revison(): + """ Return the latest revision number """ + # Now get the latest revision + db = SQLgetConnection() + c = db.cursor() + query = "SELECT (revision) FROM Revisions ORDER BY revision DESC LIMIT 1;" + c.execute(query) + rows = c.fetchall() + if (len(rows)>0): + return int(rows[0][0]) + else: + return 0 + +#===================================================================== +def add_revision(): + """ Adds an entry with the current date/time to the table. + Retrieve the index of that entry = the "revision". + Returns the current revision""" + db = SQLgetConnection() + c = db.cursor() + query = "INSERT INTO Revisions VALUES(NULL, '%s');" % str(datetime.datetime.now()) + c.execute(query) + db.commit() + return get_latest_revison() + + +#===================================================================== +def get_all_test_names(where_clause=""): + """Returns a set containing all the UNIQUE test names in the database. + ---- + where_clause: Do not include the WHERE keyword! """ + return set(get_all_field_values('name', where_clause)) + + +#===================================================================== +def setup_database(): + """ Routine to set up the mysql database the first time. + WARNING: THIS DELETES ANY TABLES ALREADY THERE + """ + print "Setting up SQL database at",get_database_filename() + if os.path.exists(get_database_filename()): + print "Creating a backup at", get_database_filename()+".bak" + shutil.copyfile(get_database_filename(), get_database_filename()+".bak") + + db = SQLgetConnection() + + c = db.cursor() + try: + c.execute("DROP TABLE TestRuns;") + c.execute("DROP TABLE Revisions;") + except: + print "Error dropping tables. Perhaps one does not exist (this is normal on first run)." + + c.execute("""CREATE TABLE TestRuns ( + testID INTEGER PRIMARY KEY, + date DATETIME, name VARCHAR(60), type VARCHAR(20), + host VARCHAR(30), environment VARCHAR(50), runner VARCHAR(20), + revision INT, commitid VARCHAR(45), + runtime DOUBLE, cpu_fraction DOUBLE, memory_change INT, + success BOOL, + status VARCHAR(50), logarchive VARCHAR(80), + variables VARCHAR(200) + ); """) + + # Now a table that is just one entry per run (a fake "revision") + + c.execute("""CREATE TABLE Revisions ( + revision INTEGER PRIMARY KEY, + date DATETIME + ); """) + + +########################################################################### +# A class to report the results of stress tests to the Mantid Test database +# (requires sqlite3 module) +########################################################################### +class SQLResultReporter(reporters.ResultReporter): + ''' + Send the test results to the Mantid test results database + ''' + + def __init__(self): + pass + + + def dispatchResults(self, result): + ''' + Construct the SQL commands and send them to the databse + ''' + dbcxn = SQLgetConnection() + cur = dbcxn.cursor() + #last_id = dbcxn.insert_id() + + # Create the field for the log archive name + result["logarchive"] = result.get_logarchive_filename() + + valuessql = "INSERT INTO TestRuns VALUES(NULL, " + + # Insert the test results in the order of the table + for field in TABLE_FIELDS: + val = result[field] + # Make into a string + val_str = str(val) + + # Booleans must be 0 or 1 + if type(val).__name__ == "bool": + val_str = ["0", "1"][val] + + valuessql += "'" + val_str + "'," + + valuessql = valuessql.rstrip(',') + valuessql += ');' + cur.execute(valuessql) + # Save test id for iteration table + test_id = cur.lastrowid + + # Commit and close the connection + dbcxn.commit() + cur.close() + dbcxn.close() + + +#============================================================================================ +def generate_fake_data(num_extra = 0): + """ Make up some data for a database """ + print "Generating fake data..." + setup_database() + rep = SQLResultReporter() + for timer in [9400, 9410,9411, 9412] + range(9420,9440) + [9450, 9466] + range(9450, 9450+num_extra): + rev = add_revision() + for name in ["Project1.MyFakeTest", "Project1.AnotherFakeTest", "Project2.FakeTest", "Project2.OldTest"]: + if (name != "Project2.OldTest"): + result = testresult.TestResult() + result["name"] = name + result["date"] = datetime.datetime.now() + datetime.timedelta(days=timer, minutes=timer) + result["log_contents"] = "Revision %d" % rev + result["runtime"] = timer/10.0 + random.randrange(-2,2) + result["commitid"] = rev #'926bf82e36b4c90c95efc3f1151725696273de5a' + result["success"] = (random.randint(0,10) > 0) + result["status"] = ["failed","success"][result["success"]] + result["revision"] = rev + rep.dispatchResults(result) + print "... Fake data made." + + +#===================================================================== +if __name__ == "__main__": + set_database_filename("SqlResults.test.db") + generate_fake_data() + + res = get_latest_result() + print res + + diff --git a/Code/Mantid/Testing/SystemTests/scripts/performance/testresult.py b/Code/Mantid/Testing/SystemTests/scripts/performance/testresult.py new file mode 100644 index 000000000000..fd772de16a3d --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/performance/testresult.py @@ -0,0 +1,120 @@ +''' +Data object for a TestResult + +Copyright © 2009 STFC Rutherford Appleton Laboratories + +This file is part of Mantid. + +Mantid is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +Mantid is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +File change history is stored at: . +''' + +import sys +import os +import reporters +import re +import time +import datetime +import platform +import subprocess +import tempfile +import sqlresults +import numpy as np + + + + +######################################################################### +######################################################################### +def envAsString(): + """ Return the environment as a string """ + if os.name == 'nt': + system = platform.system().lower()[:3] + arch = platform.architecture()[0][:2] + env = system + arch + elif os.name == 'mac': + env = platform.mac_ver()[0] + else: + env = " ".join(platform.dist()) + return env + + +######################################################################### +# A class to store the results of a test +######################################################################### +class TestResult(object): + ''' + Stores the results of each test so that they can be reported later. + ''' + + def __init__(self, + date = datetime.datetime.now(), + name="", + type="system", + host=platform.uname()[1], + environment=envAsString(), + runner="", + commitid='', + revision=0, + runtime=0.0, + speed_up=0.0, + cpu_fraction=0.0, + memory_change=0, + iterations=1, + success=False, + status="", + log_contents="", + variables=""): + """ Fill the TestResult object with the contents """ + self.data = {} + self.data["date"] = date + self.data["name"] = name + self.data["type"] = type + self.data["host"] = host + self.data["environment"] = environment + self.data["runner"] = runner + self.data["revision"] = revision + self.data["commitid"] = commitid + self.data["runtime"] = runtime + self.data["cpu_fraction"] = cpu_fraction + self.data["memory_change"] = memory_change + self.data["success"] = success + self.data["status"] = status + self.data["log_contents"] = log_contents + self.data["variables"] = variables + + + def get_logarchive_filename(self): + "Return a bare filename that will hold the archived log contents" + s = str(self.data["date"]) + s = s.replace(" ", "_") + s = s.replace(":", "-") + return "%s.%s.log" % (s, self.data["name"]) + + def __getitem__(self, key): + return self.data[key] + + def __setitem__(self, key, value): + self.data.__setitem__(key, value) + + def getData(self): + ''' Get the map storing the results ''' + return self.data + + def __str__(self): + return str(self.data) + + + diff --git a/Code/Mantid/Testing/SystemTests/scripts/performance/xunit_to_sql.py b/Code/Mantid/Testing/SystemTests/scripts/performance/xunit_to_sql.py new file mode 100755 index 000000000000..e70c27d91c99 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/performance/xunit_to_sql.py @@ -0,0 +1,137 @@ +#!/usr/bin/env python +""" Module to convert XUnit XML to SQL database of test results of the same type used +by python system tests """ + +import argparse +import sys +import os +import sqlresults +from testresult import TestResult, envAsString +from xml.dom.minidom import parse, parseString +import re +import time +import datetime +import platform +import subprocess +import tempfile +import sqlresults +import numpy as np +import glob + +# Global SQL result reporter +sql_reporter = None +# Variables string for all tests +variables = "" +revision = 0 +commitid = '' + +def handle_testcase(case, suite_name): + """ Handle one test case and save it to DB""" + # Build the full name (Project.Suite.Case) + name = case.getAttribute("classname") + "." + case.getAttribute("name") + try: + time = float(case.getAttribute("time")) + except: + time = 0.0 + try: + total_time = float(case.getAttribute("totalTime")) + except: + total_time = 0.0 + try: + cpu_fraction = float(case.getAttribute("CPUFraction")) + except: + cpu_fraction = 0.0 + try: + memory_change = int(case.getElementsByTagName("memory").item(0).firstChild.nodeValue) + except: + memory_change = 0 + + + tr = TestResult(date = datetime.datetime.now(), + name=name, + type="performance", + host=platform.uname()[1], + environment=envAsString(), + runner="runSystemTests.py", + revision=revision, + commitid=commitid, + runtime=time, + cpu_fraction=cpu_fraction, + memory_change=memory_change, + success=True, + status="", + log_contents="", + variables=variables) + #print tr.data + # Now report it to SQL + sql_reporter.dispatchResults(tr) + +def handle_suite(suite): + """ Handle all the test cases in a suite """ + suite_name = suite.getAttribute("name") + cases = suite.getElementsByTagName("testcase") + for case in cases: + handle_testcase(case, suite_name) + + +def convert_xml(filename): + """Convert a single XML file to SQL db""" + # Parse the xml + print "Reading", filename + doc = parse(filename) + suites = doc.getElementsByTagName("testsuite") + for suite in suites: + handle_suite(suite) + + +#==================================================================================== +if __name__ == "__main__": + # Parse the command line + parser = argparse.ArgumentParser(description='Add the contents of Xunit-style XML test result files to a SQL database.') + + parser.add_argument('--db', dest='db', + default="./MantidPerformanceTests.db", + help='Full path to the SQLite database holding the results (default "./MantidPerformanceTests.db"). The database will be created if it does not exist.') + + parser.add_argument('--variables', dest='variables', + default="", + help='Optional string of comma-separated "VAR1NAME=VALUE,VAR2NAME=VALUE2" giving some parameters used, e.g. while building.') + + parser.add_argument('--commit', dest='commitid', + default="", + help='Commit ID of the current build (a 40-character SHA string).') + + parser.add_argument('xmlpath', metavar='XMLPATH', type=str, nargs='+', + default="", + help='Required: Path to the Xunit XML files.') + + args = parser.parse_args() + + # Setup the SQL database but only if it does not exist + sqlresults.set_database_filename(args.db) + if not os.path.exists(args.db): + sqlresults.setup_database() + # Set up the reporter + sql_reporter = sqlresults.SQLResultReporter() + + variables = args.variables + # Add a new revision and get the "revision" number + revision = sqlresults.add_revision() + # Save the commitid + commitid = args.commitid + + # If a directory has been provided, look there for all of the XML files + if os.path.isdir(args.xmlpath[0]): + xmldir = args.xmlpath[0] + if not os.path.isabs(xmldir): + xmldir = os.path.abspath(xmldir) + xmlfiles = glob.glob(os.path.join(xmldir, '*.xml')) + else: + xmlfiles = args.xmlpath + + # Convert each file + for file in xmlfiles: + convert_xml(file) + + + diff --git a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py new file mode 100755 index 000000000000..88785cc679b0 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python + +import os +# set up the command line options +VERSION = "1.1" +DEFAULT_FRAMEWORK_LOC = os.path.dirname(os.path.realpath(__file__)) + "/../StressTestFramework" + +info = [] +info.append("This program will configure mantid run all of the system tests located in") +info.append("the 'SystemTests/AnalysisTests' directory and log the results in 'logs/'.") +info.append("This program will create a temporary 'Mantid.user.properties' file which") +info.append("it will rename to 'Mantid.user.properties.systest' upon completion. The") +info.append("current version of the code does not print to stdout while the test is") +info.append("running, so the impatient user may ^C to kill the process. In this case") +info.append("all of the tests that haven't been run will be marked as skipped in the") +info.append("full logs.") + +import optparse +parser = optparse.OptionParser("Usage: %prog [options]", None, + optparse.Option, VERSION, 'error', ' '.join(info)) +parser.add_option("-m", "--mantidpath", dest="mantidpath", + help="Location of mantid build") +parser.add_option("", "--email", action="store_true", + help="send an email with test status.") +parser.add_option("", "--frameworkLoc", + help="location of the stress test framework (default=%s)" % DEFAULT_FRAMEWORK_LOC) +parser.add_option("", "--disablepropmake", action="store_false", dest="makeprop", + help="By default this will move your properties file out of the way and create a new one. This option turns off this behavior.") +parser.add_option("-R", "--tests-regex", dest="testsInclude", + help="String specifying which tests to run. Simply uses 'string in testname'.") +parser.add_option("-E", "--excluderegex", dest="testsExclude", + help="String specifying which tests to not run. Simply uses 'string in testname'.") +loglevelChoices=["error", "warning", "notice", "information", "debug"] +parser.add_option("-l", "--loglevel", dest="loglevel", + choices=loglevelChoices, + help="Set the log level for test running: [" + ', '.join(loglevelChoices) + "]") +parser.add_option("", "--showskipped", dest="showskipped", action="store_true", + help="List the skipped tests.") +parser.add_option("", "--archivesearch", dest="archivesearch", action="store_true", + help="Turn on archive search for file finder.") +parser.set_defaults(frameworkLoc=DEFAULT_FRAMEWORK_LOC, mantidpath=None, makeprop=True, + loglevel="information") +(options, args) = parser.parse_args() + +# import the stress testing framework +import sys +import os +import platform +sys.path.append(options.frameworkLoc) +import stresstesting + +# Make sure the specified MantidFramework is picked up +# Use specified option if given +mantid_module_path = None +if options.mantidpath is not None: + mantid_module_path = options.mantidpath +elif os.path.exists("MantidFramework"): + pass # Current directory is in the already +elif 'MANTIDPATH' in os.environ: + mantid_module_path = os.environ['MANTIDPATH'] +else: + pass + +# Ensure that this is the one that is picked +sys.path.insert(0, mantid_module_path) + +# On Windows & OSX we need to ensure the mantid libraries in bin/Contents/MacOS can be found. +# Must be done before first import of mantid. This is the same as what a user would have to do to +# import mantid in a vanilla python session +# Unfortunately Python seems to know the path separator on each platform but +# not the dynamic library path variable name +if platform.system() == 'Windows': + path_var = "PATH" +elif platform.system() == 'Darwin': + path_var = "DYLD_LIBRARY_PATH" +else: + path_var = None +# Set the path +if path_var: + os.environ[path_var] = mantid_module_path + os.pathsep + os.environ.get(path_var, "") + +# Configure mantid +mtdconf = stresstesting.MantidFrameworkConfig(mantid_module_path, loglevel=options.loglevel, + archivesearch=options.archivesearch) +if options.makeprop: + mtdconf.config() + +# run the tests +reporter = stresstesting.XmlResultReporter(showSkipped=options.showskipped) +mgr = stresstesting.TestManager(mtdconf.testDir, output = [reporter], + testsInclude=options.testsInclude, testsExclude=options.testsExclude) +try: + mgr.executeTests() +except KeyboardInterrupt: + mgr.markSkipped("KeyboardInterrupt") + +# report the errors +success = reporter.reportStatus() +xml_report = open(os.path.join(mtdconf.saveDir, "SystemTestsReport.xml"),'w') +xml_report.write(reporter.getResults()) +xml_report.close() + +# put the configuratoin back to its original state +if options.makeprop: + mtdconf.restoreconfig() + +print +if mgr.skippedTests == mgr.totalTests: + print "All tests were skipped" + success = False # fail if everything was skipped +else: + percent = 1.-float(mgr.failedTests)/float(mgr.totalTests-mgr.skippedTests) + percent = int(100. * percent) + print "%d%s tests passed, %d tests failed out of %d (%d skipped)" % \ + (percent, '%', mgr.failedTests, (mgr.totalTests-mgr.skippedTests), mgr.skippedTests) +print 'All tests passed? ' + str(success) +if not success: + sys.exit(1) diff --git a/Code/Mantid/Testing/SystemTests/tests/analysis/reference/README.md b/Code/Mantid/Testing/SystemTests/tests/analysis/reference/README.md new file mode 100644 index 000000000000..820b616aa6b0 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/tests/analysis/reference/README.md @@ -0,0 +1 @@ +This directory stores the content links to the reference files for the system tests From 7b31f84ba183d238b29a13cb4716f74a655a0c17 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 9 Feb 2015 12:36:33 +0000 Subject: [PATCH 003/112] Add an external data target for the system tests This is not added as a dependency and must be explicitly invoked. Refs #10870 --- Code/Mantid/Build/CMake/CommonSetup.cmake | 49 +++++++++++++---------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/Code/Mantid/Build/CMake/CommonSetup.cmake b/Code/Mantid/Build/CMake/CommonSetup.cmake index a9ee332cef5e..e9b8facc1f1e 100644 --- a/Code/Mantid/Build/CMake/CommonSetup.cmake +++ b/Code/Mantid/Build/CMake/CommonSetup.cmake @@ -305,28 +305,35 @@ endif() # External Data for testing ########################################################################### if ( CXXTEST_FOUND OR PYUNITTEST_FOUND ) - include ( MantidExternalData ) - -# None of our tests reference files directly as arguments so we have to manually -# call ExternalData_Expand_Arguments to register the files with the ExternalData -# mechanism -get_filename_component ( EXTERNALDATATEST_SOURCE_DIR ${PROJECT_SOURCE_DIR} ABSOLUTE ) -file( GLOB_RECURSE doctest_content_links - RELATIVE "${EXTERNALDATATEST_SOURCE_DIR}" "Testing/Data/DocTest/*.md5" ) -file( GLOB_RECURSE unittest_content_links - RELATIVE "${EXTERNALDATATEST_SOURCE_DIR}" "Testing/Data/UnitTest/*.md5" ) -set ( content_links "${doctest_content_links};${unittest_content_links}" ) -foreach(link ${content_links}) - string( REGEX REPLACE "\\.md5$" "" link ${link} ) - ExternalData_Expand_Arguments( StandardTestData - link_location - DATA{${link}} - ) -endforeach() + include ( MantidExternalData ) + + # None of our tests reference files directly as arguments so we have to manually + # call ExternalData_Expand_Arguments to register the files with the ExternalData + # mechanism + function(_create_data_target _targetname _content_link_patterns) + get_filename_component ( EXTERNALDATATEST_SOURCE_DIR ${PROJECT_SOURCE_DIR} ABSOLUTE ) + foreach(_pattern ${_content_link_patterns}) + file( GLOB_RECURSE _content_links + RELATIVE "${EXTERNALDATATEST_SOURCE_DIR}" ${_pattern} ) + foreach(link ${_content_links}) + string( REGEX REPLACE "\\.md5$" "" link ${link} ) + ExternalData_Expand_Arguments( ${_targetname} + link_location + DATA{${link}} + ) + endforeach() + endforeach() + # Create target to download data from the StandardTestData group. This must come after + # all tests have been added that reference the group, so we put it last. + ExternalData_Add_Target(${_targetname}) + endfunction() + + # We'll create two targets: + # - StandardTestData: data required by the unit tests and documentation tests + # - SystemTestData: data required for the system tests + _create_data_target(StandardTestData "Testing/Data/DocTest/*.md5;Testing/Data/UnitTest/*.md5") + _create_data_target(SystemTestData "Testing/Data/SystemTest/*.md5;Testing/SystemTests/tests/analysis/reference/*.md5") -# Create target to download data from the StandardTestData group. This must come after -# all tests have been added that reference the group, so we put it last. -ExternalData_Add_Target(StandardTestData) endif() ########################################################################### From d1ed53a9e84890a9fe068eac207029faf6e85f3a Mon Sep 17 00:00:00 2001 From: Vickie Lynch Date: Mon, 9 Feb 2015 16:10:54 -0500 Subject: [PATCH 004/112] Refs #11034 workspaces for principal axes lengths --- .../MDEvents/src/IntegrateEllipsoids.cpp | 155 ++++++++++-------- 1 file changed, 91 insertions(+), 64 deletions(-) diff --git a/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp b/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp index 19b6ec91f76a..c413ae0d2bd5 100644 --- a/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp +++ b/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp @@ -14,6 +14,7 @@ #include "MantidMDEvents/UnitsConversionHelper.h" #include "MantidMDEvents/Integrate3DEvents.h" #include "MantidMDEvents/IntegrateEllipsoids.h" +#include "MantidDataObjects/Workspace2D.h" #include "MantidKernel/Statistics.h" using namespace Mantid::API; @@ -265,7 +266,7 @@ void IntegrateEllipsoids::exec() { double inti; double sigi; - std::vector r1,r2,r3; + std::vector principalaxis1,principalaxis2,principalaxis3; for (size_t i = 0; i < n_peaks; i++) { V3D hkl(peaks[i].getH(), peaks[i].getK(), peaks[i].getL()); if (Geometry::IndexingUtils::ValidIndex(hkl, 1.0)) { @@ -276,80 +277,106 @@ void IntegrateEllipsoids::exec() { axes_radii, inti, sigi); peaks[i].setIntensity(inti); peaks[i].setSigmaIntensity(sigi); - if (axes_radii.size() == 3) { - if (inti/sigi > cutoffIsigI && !specify_size) - { - r1.push_back(axes_radii[0]); - r2.push_back(axes_radii[1]); - r3.push_back(axes_radii[2]); - } - g_log.notice() - << "Radii of three axes of ellipsoid for integrating peak " << i - << " = "; - for (int i3 = 0; i3 < 3; i3++) { - g_log.notice() << axes_radii[i3] << " "; - } - g_log.notice() << std::endl; + if (axes_radii.size() == 3 && (inti/sigi > cutoffIsigI || cutoffIsigI == EMPTY_DBL())) + { + principalaxis1.push_back(axes_radii[0]); + principalaxis2.push_back(axes_radii[1]); + principalaxis3.push_back(axes_radii[2]); } } else { peaks[i].setIntensity(0.0); peaks[i].setSigmaIntensity(0.0); } } - if (r1.size() > 1 && !specify_size) - { - Statistics stats = getStatistics(r1); - g_log.notice() << "r1: " - << " mean " << stats.mean - << " standard_deviation " << stats.standard_deviation - << " minimum " << stats.minimum - << " maximum " << stats.maximum - << " median " << stats.median << "\n"; - stats = getStatistics(r2); - g_log.notice() << "r2: " - << " mean " << stats.mean - << " standard_deviation " << stats.standard_deviation - << " minimum " << stats.minimum - << " maximum " << stats.maximum - << " median " << stats.median << "\n"; - stats = getStatistics(r3); - g_log.notice() << "r3: " - << " mean " << stats.mean - << " standard_deviation " << stats.standard_deviation - << " minimum " << stats.minimum - << " maximum " << stats.maximum - << " median " << stats.median << "\n"; - specify_size=true; - peak_radius = stats.mean + numSigmas * stats.standard_deviation; - back_inner_radius = peak_radius; - back_outer_radius = peak_radius * 1.25992105; // A factor of 2 ^ (1/3) will make the background - // shell volume equal to the peak region volume. - for (size_t i = 0; i < n_peaks; i++) { - V3D hkl(peaks[i].getH(), peaks[i].getK(), peaks[i].getL()); - if (Geometry::IndexingUtils::ValidIndex(hkl, 1.0)) { - V3D peak_q(peaks[i].getQLabFrame()); - std::vector axes_radii; - integrator.ellipseIntegrateEvents(peak_q, specify_size, peak_radius, - back_inner_radius, back_outer_radius, - axes_radii, inti, sigi); - peaks[i].setIntensity(inti); - peaks[i].setSigmaIntensity(sigi); - if (axes_radii.size() == 3) { - g_log.notice() - << "Radii of three axes of ellipsoid for integrating peak " << i - << " = "; - for (int i3 = 0; i3 < 3; i3++) { - g_log.notice() << axes_radii[i3] << " "; + if (principalaxis1.size() > 1 ){ + size_t histogramNumber = 3; + Workspace_sptr wsProfile = WorkspaceFactory::Instance().create( + "Workspace2D", histogramNumber, principalaxis1.size(), principalaxis1.size()); + Workspace2D_sptr wsProfile2D = boost::dynamic_pointer_cast(wsProfile); + AnalysisDataService::Instance().addOrReplace("EllipsoidAxes", wsProfile2D); + for (size_t j = 0; j < principalaxis1.size(); j++) { + wsProfile2D->dataX(0)[j] = static_cast(j); + wsProfile2D->dataY(0)[j] = principalaxis1[j]; + wsProfile2D->dataE(0)[j] = std::sqrt(principalaxis1[j]); + wsProfile2D->dataX(1)[j] = static_cast(j); + wsProfile2D->dataY(1)[j] = principalaxis2[j]; + wsProfile2D->dataE(1)[j] = std::sqrt(principalaxis2[j]); + wsProfile2D->dataX(2)[j] = static_cast(j); + wsProfile2D->dataY(2)[j] = principalaxis3[j]; + wsProfile2D->dataE(2)[j] = std::sqrt(principalaxis3[j]); + } + Statistics stats1 = getStatistics(principalaxis1); + g_log.notice() << "principalaxis1: " + << " mean " << stats1.mean + << " standard_deviation " << stats1.standard_deviation + << " minimum " << stats1.minimum + << " maximum " << stats1.maximum + << " median " << stats1.median << "\n"; + Statistics stats2 = getStatistics(principalaxis2); + g_log.notice() << "principalaxis2: " + << " mean " << stats2.mean + << " standard_deviation " << stats2.standard_deviation + << " minimum " << stats2.minimum + << " maximum " << stats2.maximum + << " median " << stats2.median << "\n"; + Statistics stats3 = getStatistics(principalaxis3); + g_log.notice() << "principalaxis3: " + << " mean " << stats3.mean + << " standard_deviation " << stats3.standard_deviation + << " minimum " << stats3.minimum + << " maximum " << stats3.maximum + << " median " << stats3.median << "\n"; + if (cutoffIsigI != EMPTY_DBL()){ + principalaxis1.clear(); + principalaxis2.clear(); + principalaxis3.clear(); + specify_size=true; + peak_radius = std::max(std::max(stats1.mean,stats2.mean),stats3.mean) + numSigmas * + std::max(std::max(stats1.standard_deviation,stats2.standard_deviation),stats3.standard_deviation); + back_inner_radius = peak_radius; + back_outer_radius = peak_radius * 1.25992105; // A factor of 2 ^ (1/3) will make the background + // shell volume equal to the peak region volume. + for (size_t i = 0; i < n_peaks; i++) { + V3D hkl(peaks[i].getH(), peaks[i].getK(), peaks[i].getL()); + if (Geometry::IndexingUtils::ValidIndex(hkl, 1.0)) { + V3D peak_q(peaks[i].getQLabFrame()); + std::vector axes_radii; + integrator.ellipseIntegrateEvents(peak_q, specify_size, peak_radius, + back_inner_radius, back_outer_radius, + axes_radii, inti, sigi); + peaks[i].setIntensity(inti); + peaks[i].setSigmaIntensity(sigi); + if (axes_radii.size() == 3){ + principalaxis1.push_back(axes_radii[0]); + principalaxis2.push_back(axes_radii[1]); + principalaxis3.push_back(axes_radii[2]); } - g_log.notice() << std::endl; + } else { + peaks[i].setIntensity(0.0); + peaks[i].setSigmaIntensity(0.0); + } + } + if (principalaxis1.size() > 1 ){ + size_t histogramNumber = 3; + Workspace_sptr wsProfile2 = WorkspaceFactory::Instance().create( + "Workspace2D", histogramNumber, principalaxis1.size(), principalaxis1.size()); + Workspace2D_sptr wsProfile2D2 = boost::dynamic_pointer_cast(wsProfile2); + AnalysisDataService::Instance().addOrReplace("EllipsoidAxes_2ndPass", wsProfile2D2); + for (size_t j = 0; j < principalaxis1.size(); j++) { + wsProfile2D2->dataX(0)[j] = static_cast(j); + wsProfile2D2->dataY(0)[j] = principalaxis1[j]; + wsProfile2D2->dataE(0)[j] = std::sqrt(principalaxis1[j]); + wsProfile2D2->dataX(1)[j] = static_cast(j); + wsProfile2D2->dataY(1)[j] = principalaxis2[j]; + wsProfile2D2->dataE(1)[j] = std::sqrt(principalaxis2[j]); + wsProfile2D2->dataX(2)[j] = static_cast(j); + wsProfile2D2->dataY(2)[j] = principalaxis3[j]; + wsProfile2D2->dataE(2)[j] = std::sqrt(principalaxis3[j]); } - } else { - peaks[i].setIntensity(0.0); - peaks[i].setSigmaIntensity(0.0); } } - } + // This flag is used by the PeaksWorkspace to evaluate whether it has been // integrated. peak_ws->mutableRun().addProperty("PeaksIntegrated", 1, true); From 110a9b33e514bb858563d24df295c8aef8327409 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Tue, 10 Feb 2015 17:06:13 +0000 Subject: [PATCH 005/112] Update module paths for new structure CMake now writes out two text files containing the location of the data files and the requested default save directory. The save directory now defaults to outside the source tree making it easier to clear away. Refs #10870 --- Code/Mantid/CMakeLists.txt | 3 + .../lib/systemtests/stresstesting.py | 92 ++++++++----------- .../Testing/SystemTests/scripts/.gitignore | 2 + .../SystemTests/scripts/CMakeLists.txt | 28 ++++++ .../SystemTests/scripts/runSystemTests.py | 23 ++++- 5 files changed, 90 insertions(+), 58 deletions(-) create mode 100644 Code/Mantid/Testing/SystemTests/scripts/.gitignore create mode 100644 Code/Mantid/Testing/SystemTests/scripts/CMakeLists.txt diff --git a/Code/Mantid/CMakeLists.txt b/Code/Mantid/CMakeLists.txt index 2b79286d6eb5..673bd4b295ca 100644 --- a/Code/Mantid/CMakeLists.txt +++ b/Code/Mantid/CMakeLists.txt @@ -147,6 +147,9 @@ add_subdirectory ( scripts ) add_subdirectory ( docs ) +# System tests +add_subdirectory ( Testing/SystemTests/scripts ) + ########################################################################### # Installation settings ########################################################################### diff --git a/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py b/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py index 7527065812e6..22820a84051a 100644 --- a/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py +++ b/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py @@ -22,7 +22,6 @@ File change history is stored at: . ''' - import sys import os import types @@ -38,6 +37,9 @@ import numpy import unittest +# Path to this file +THIS_MODULE_PATH = os.path.dirname(os.path.realpath(__file__)) + ######################################################################### # The base test class. ######################################################################### @@ -484,11 +486,6 @@ def dispatchResults(self, result): ######################################################################### from xmlreporter import XmlResultReporter -######################################################################### -# A class to report results via email -######################################################################### -from emailreporter import EmailResultReporter - ######################################################################### # A base class for a TestRunner ######################################################################### @@ -508,10 +505,7 @@ def __init__(self, need_escaping = False): self._mtdpy_header = '' self._test_dir = '' # Get the path that this module resides in so that the tests know about it - self._framework_path = '' - for p in sys.path: - if 'Framework' in p: - self._framework_path = os.path.abspath(p).replace('\\','/') + self._framework_path = THIS_MODULE_PATH # A string to prefix the code with self._code_prefix = '' self._using_escape = need_escaping @@ -523,7 +517,7 @@ def commandString(self, pycode): raise NotImplementedError('"commandString(self)" should be overridden in a derived class') def setMantidDir(self, mtdheader_dir): - # Store the path to MantidPythonAPI + # Store the path to mantid module self._mtdpy_header = os.path.abspath(mtdheader_dir).replace('\\','/') def setTestDir(self, test_dir): @@ -875,6 +869,7 @@ def isValidTestClass(self, class_obj): class MantidFrameworkConfig: def __init__(self, mantidDir=None, sourceDir=None, + data_dirs="", save_dir = "", loglevel='information', archivesearch=False): # force the environment variable if mantidDir is not None: @@ -900,16 +895,31 @@ def __init__(self, mantidDir=None, sourceDir=None, sys.path.insert(0,self.__locateTestsDir()) # setup the rest of the magic directories - parentDir = os.path.split(self.__sourceDir)[0] - self.__saveDir = os.path.join(parentDir, "logs/").replace('\\','/') - self.__dataDirs = [os.path.join(parentDir, "SystemTests"), - os.path.join(parentDir, "SystemTests/AnalysisTests/ReferenceResults"), - os.path.join(parentDir, "Data"), - os.path.join(parentDir, "Data/LOQ"), - os.path.join(parentDir, "Data/SANS2D"), - os.path.join(parentDir, "Data/PEARL"), - self.__saveDir - ] + self.__saveDir = save_dir + if not os.path.exists(save_dir): + print "Making directory %s to save results" % save_dir + os.mkdir(save_dir) + + else: + if not os.path.isdir(save_dir): + raise RuntimeError("%s is not a directory" % save_dir) + + # assume a string is already semicolon-seaprated + if type(data_dirs) == str: + self.__dataDirs = data_dirs + self.__dataDirs += ";%s" % self.__saveDir + else: + data_path = "" + data_dirs.append(self.__saveDir) + for direc in data_dirs: + if not os.path.exists(direc): + raise RuntimeError('Directory ' + direc + ' was not found.') + search_dir = direc.replace('\\','/') + if not search_dir.endswith('/'): + search_dir += '/' + data_path += search_dir + ';' + #endfor + self.__dataDirs = data_path # set the log level self.__loglevel = loglevel @@ -928,31 +938,15 @@ def __locateSourceDir(self, suggestion): raise RuntimeError("Failed to find source directory") def __locateTestsDir(self): - loc = os.path.join(self.__sourceDir, '../SystemTests/AnalysisTests') + loc = os.path.join(self.__sourceDir, "..", "..", "tests", "analysis") loc = os.path.abspath(loc) if os.path.isdir(loc): return loc else: - raise RuntimeError("'%s' is not a directory (AnalysisTests)" % loc) - - def __getDataDirs(self): - # get the file of the python script - testDir = os.path.split(self.__sourceDir)[0] + raise RuntimeError("Expected the analysis tests directory at '%s' but it is not a directory " % loc) - # add things to the data search path - dirs =[] - dirs.append(os.path.join(testDir, "Data")) - dirs.append(os.path.join(testDir, "Data/LOQ")) - dirs.append(os.path.join(testDir, "Data/SANS2D")) - dirs.append(os.path.join(testDir, "Data/PEARL")) - dirs.append(os.path.join(testDir, "SystemTests")) - dirs.append(os.path.join(testDir, \ - "SystemTests/AnalysisTests/ReferenceResults")) - dirs.append(os.path.abspath(os.getenv("MANTIDPATH"))) - - dirs = [os.path.normpath(item) for item in dirs] - - return dirs + def __getDataDirsAsString(self): + return self._dataDirs def __moveFile(self, src, dst): if os.path.exists(src): @@ -968,12 +962,6 @@ def __copyFile(self, src, dst): testDir = property(lambda self: self.__testDir) def config(self): - if not os.path.exists(self.__saveDir): - print "Making directory %s to save results" % self.__saveDir - os.mkdir(self.__saveDir) - else: - if not os.path.isdir(self.__saveDir): - raise RuntimeError("%s is not a directory" % self.__saveDir) # Start mantid import mantid @@ -991,15 +979,7 @@ def config(self): # Up the log level so that failures can give useful information config['logging.loggers.root.level'] = self.__loglevel # Set the correct search path - data_path = '' - for dir in self.__dataDirs: - if not os.path.exists(dir): - raise RuntimeError('Directory ' + dir + ' was not found.') - search_dir = dir.replace('\\','/') - if not search_dir.endswith('/'): - search_dir += '/' - data_path += search_dir + ';' - config['datasearch.directories'] = data_path + config['datasearch.directories'] = self.__dataDirs # Save path config['defaultsave.directory'] = self.__saveDir diff --git a/Code/Mantid/Testing/SystemTests/scripts/.gitignore b/Code/Mantid/Testing/SystemTests/scripts/.gitignore new file mode 100644 index 000000000000..a2eca9a1a72a --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/.gitignore @@ -0,0 +1,2 @@ +datasearch-directories.txt +defaultsave-directory.txt diff --git a/Code/Mantid/Testing/SystemTests/scripts/CMakeLists.txt b/Code/Mantid/Testing/SystemTests/scripts/CMakeLists.txt new file mode 100644 index 000000000000..ba4866680fca --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/scripts/CMakeLists.txt @@ -0,0 +1,28 @@ +###################################################################### +# Write out a files containing +# - the data search directories +# - the default save directory +# These will be read by the MantidConfig class to configure the +# properties file +###################################################################### +# Data search directories +set(DATA_DIRS "") +# Input data +set(SYSTEM_TEST_DATA_DIR ${ExternalData_BINARY_ROOT}/Testing/Data/SystemTest) +list(APPEND DATA_DIRS ${SYSTEM_TEST_DATA_DIR}) +list(APPEND DATA_DIRS ${SYSTEM_TEST_DATA_DIR}/LOQ) +list(APPEND DATA_DIRS ${SYSTEM_TEST_DATA_DIR}/SANS2D) +list(APPEND DATA_DIRS ${SYSTEM_TEST_DATA_DIR}/PEARL) +# Reference results +list(APPEND DATA_DIRS ${ExternalData_BINARY_ROOT}/Testing/SystemTests/tests/analysis/reference) + +# Output to file +# If this is changed, make sure to update the .gitignore in this directory +set(DATA_DIRS_FILE ${CMAKE_CURRENT_LIST_DIR}/datasearch-directories.txt) +# The quotes are important as CMake translates the list to a semicolon-separated string +file(WRITE ${DATA_DIRS_FILE} "${DATA_DIRS}") + +# Default save directory +set(SAVE_DIR ${CMAKE_CURRENT_BINARY_DIR} ) +set(SAVE_DIR_FILE ${CMAKE_CURRENT_LIST_DIR}/defaultsave-directory.txt) +file(WRITE ${SAVE_DIR_FILE} "${SAVE_DIR}") diff --git a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py index 88785cc679b0..933eb23ffe63 100755 --- a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py +++ b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py @@ -3,7 +3,10 @@ import os # set up the command line options VERSION = "1.1" -DEFAULT_FRAMEWORK_LOC = os.path.dirname(os.path.realpath(__file__)) + "/../StressTestFramework" +PYFILE_PATH = os.path.dirname(os.path.realpath(__file__)) +DEFAULT_FRAMEWORK_LOC = os.path.realpath(os.path.join(PYFILE_PATH, "..","lib","systemtests")) +DATA_DIRS_LIST_PATH = os.path.join(PYFILE_PATH, "datasearch-directories.txt") +SAVE_DIR_LIST_PATH = os.path.join(PYFILE_PATH, "defaultsave-directory.txt") info = [] info.append("This program will configure mantid run all of the system tests located in") @@ -36,6 +39,10 @@ help="Set the log level for test running: [" + ', '.join(loglevelChoices) + "]") parser.add_option("", "--showskipped", dest="showskipped", action="store_true", help="List the skipped tests.") +parser.add_option("-d", "--datapaths", dest="datapaths", + help="A semicolon-separated list of directories to search for data") +parser.add_option("-s", "--savedir", dest="savedir", + help="A directory to use for the Mantid save path") parser.add_option("", "--archivesearch", dest="archivesearch", action="store_true", help="Turn on archive search for file finder.") parser.set_defaults(frameworkLoc=DEFAULT_FRAMEWORK_LOC, mantidpath=None, makeprop=True, @@ -80,7 +87,19 @@ os.environ[path_var] = mantid_module_path + os.pathsep + os.environ.get(path_var, "") # Configure mantid +# Parse files containing the search and save directories, unless otherwise given +data_paths = options.datapaths +if data_paths is None or data_paths == "": + with open(DATA_DIRS_LIST_PATH, 'r') as f_handle: + data_paths = f_handle.read().strip() + +save_dir = options.savedir +if save_dir is None or save_dir == "": + with open(SAVE_DIR_LIST_PATH, 'r') as f_handle: + save_dir = f_handle.read().strip() +# Configure properties file mtdconf = stresstesting.MantidFrameworkConfig(mantid_module_path, loglevel=options.loglevel, + data_dirs=data_paths, save_dir=save_dir, archivesearch=options.archivesearch) if options.makeprop: mtdconf.config() @@ -100,7 +119,7 @@ xml_report.write(reporter.getResults()) xml_report.close() -# put the configuratoin back to its original state +# put the configuration back to its original state if options.makeprop: mtdconf.restoreconfig() From 54f0754b27412464fbe494d83117672e080be5b7 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Tue, 10 Feb 2015 17:44:10 +0000 Subject: [PATCH 006/112] Update InstallerTests wrapper script for new layout. It can now be passed a directory to search for packages rather than assuming it should look in the current directory. Refs #10870 --- .../lib/systemtests/stresstesting.py | 4 +- .../SystemTests/scripts/InstallerTests.py | 39 ++++++++++--------- .../SystemTests/scripts/mantidinstaller.py | 34 ++++++++-------- .../SystemTests/scripts/runSystemTests.py | 10 ++--- 4 files changed, 46 insertions(+), 41 deletions(-) diff --git a/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py b/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py index 22820a84051a..31aa6f54b281 100644 --- a/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py +++ b/Code/Mantid/Testing/SystemTests/lib/systemtests/stresstesting.py @@ -38,7 +38,7 @@ import unittest # Path to this file -THIS_MODULE_PATH = os.path.dirname(os.path.realpath(__file__)) +THIS_MODULE_DIR = os.path.dirname(os.path.realpath(__file__)) ######################################################################### # The base test class. @@ -505,7 +505,7 @@ def __init__(self, need_escaping = False): self._mtdpy_header = '' self._test_dir = '' # Get the path that this module resides in so that the tests know about it - self._framework_path = THIS_MODULE_PATH + self._framework_path = THIS_MODULE_DIR # A string to prefix the code with self._code_prefix = '' self._using_escape = need_escaping diff --git a/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py b/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py index cae938d474bb..e28a706112b3 100644 --- a/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py +++ b/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py @@ -1,3 +1,5 @@ +"""Finds a package, installs it and runs the tests against it. +""" import os import sys import platform @@ -8,15 +10,11 @@ from mantidinstaller import (createScriptLog, log, stop, failure, scriptfailure, get_installer, run) -''' - -This script copies Mantid installer for the system it is running on from the build server, -installs it, runs system tests and produces an xml report file SystemTestsReport.xml - -''' +THIS_MODULE_DIR = os.path.dirname(os.path.realpath(__file__)) +SAVE_DIR_LIST_PATH = os.path.join(THIS_MODULE_DIR, "defaultsave-directory.txt") try: - opt, argv = getopt(sys.argv[1:],'nohvR:l:') + opt, argv = getopt(sys.argv[1:],'d:nohvR:l:') except: opt = [('-h','')] @@ -24,6 +22,7 @@ print "Usage: %s [OPTIONS]" % os.path.basename(sys.argv[0]) print print "Valid options are:" + print " -d Directory to look for packages. Defaults to current working directory" print " -n Run tests without installing Mantid (it must be already installed)" print " -o Output to the screen instead of log files" print " -h Display the usage" @@ -35,6 +34,7 @@ test_regex = None out2stdout = False log_level = 'notice' +package_dir = os.getcwd() for option, arg in opt: if option == '-n': doInstall = False @@ -44,18 +44,20 @@ test_regex = arg if option == '-l' and arg != "": log_level = arg + if option == '-d' and arg != "": + package_dir = arg -# The log file for this script -parentDir = os.path.abspath('..').replace('\\','/') -if not os.path.exists(parentDir + '/logs'): - os.mkdir(parentDir + '/logs') +# Log to the configured default save directory +with open(SAVE_DIR_LIST_PATH, 'r') as f_handle: + output_dir = f_handle.read().strip() -createScriptLog(parentDir + '/logs/TestScript.log') -testRunLogPath = parentDir + '/logs/testsRun.log' -testRunErrPath = parentDir + '/logs/testsRun.err' +createScriptLog(os.path.join(output_dir, "TestScript.log")) +testRunLogPath = os.path.join(output_dir, "test_output.log") +testRunErrPath = os.path.join(output_dir, "test_errors.log") log('Starting system tests') -installer = get_installer(doInstall) +log('Searching for packages in ' + package_dir) +installer = get_installer(package_dir, doInstall) # Install the found package if doInstall: @@ -89,17 +91,18 @@ try: # Now get the revision number/git commit ID (remove the leading 'g' that isn't part of it) revision = run(installer.mantidPlotPath + ' -r').lstrip('g') - revision_tested = open('revision_tested.log','w') + revision_tested = open(os.path.join(output_dir, 'revision_tested.log'), 'w') if revision and len(version) > 0: revision_tested.write(revision) revision_tested.close() except Exception, err: scriptfailure('Revision test failed: '+str(err), installer) -log("Running system tests. Log files are: logs/testsRun.log and logs/testsRun.err") +log("Running system tests. Log files are: '%s' and '%s'" % (testRunLogPath,testRunErrPath)) try: # Pick the correct Mantid along with the bundled python on windows - run_test_cmd = "%s %s/runSystemTests.py --loglevel=%s --mantidpath=%s" % (installer.python_cmd, os.path.dirname(os.path.realpath(__file__)), log_level, mantidPlotDir) + run_test_cmd = "%s %s/runSystemTests.py --loglevel=%s --mantidpath=%s" % \ + (installer.python_cmd, THIS_MODULE_DIR, log_level, mantidPlotDir) if test_regex is not None: run_test_cmd += " -R " + test_regex if out2stdout: diff --git a/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py index 3b566b8f4e15..f78094738b9d 100644 --- a/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py +++ b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py @@ -54,24 +54,25 @@ def scriptfailure(txt, installer=None): sys.exit(1) -def get_installer(do_install=True): +def get_installer(package_dir, do_install=True): """ Creates the correct class for the current platform + @param package_dir :: The directory to search for packages @param do_install :: True if installation is to be performed """ system = platform.system() if system == 'Windows': - return NSISInstaller(do_install) + return NSISInstaller(package_dir, do_install) elif system == 'Linux': dist = platform.dist() if dist[0] == 'Ubuntu': - return DebInstaller(do_install) - elif dist[0] == 'redhat' and (dist[1].startswith('5.') or dist[1].startswith('6.')): - return RPMInstaller(do_install) + return DebInstaller(package_dir, do_install) + elif dist[0] == 'redhat': + return RPMInstaller(package_dir, do_install) else: scriptfailure('Unknown Linux flavour: %s' % str(dist)) elif system == 'Darwin': - return DMGInstaller(do_install) + return DMGInstaller(package_dir, do_install) else: raise scriptfailure("Unsupported platform") @@ -98,14 +99,15 @@ class MantidInstaller(object): no_uninstall = False python_cmd = "python" - def __init__(self, do_install, filepattern): + def __init__(self, package_dir, filepattern, + do_install): """Initialized with a pattern to find a path to an installer """ if not do_install: return # Glob for packages - matches = glob.glob(os.path.abspath(filepattern)) + matches = glob.glob(os.path.join(package_dir, filepattern)) if len(matches) > 0: # This will put the release mantid packages at the start and the nightly ones at the end # with increasing version numbers @@ -139,8 +141,8 @@ class NSISInstaller(MantidInstaller): to install Mantid """ - def __init__(self, do_install): - MantidInstaller.__init__(self, do_install, 'Mantid-*-win*.exe') + def __init__(self, package_dir, do_install): + MantidInstaller.__init__(self, package_dir, 'Mantid-*-win*.exe', do_install) self.mantidPlotPath = 'C:/MantidInstall/bin/MantidPlot.exe' self.python_cmd = "C:/MantidInstall/bin/python.exe" @@ -164,8 +166,8 @@ class DebInstaller(MantidInstaller): """Uses a deb package to install mantid """ - def __init__(self, do_install): - MantidInstaller.__init__(self, do_install, 'mantid*.deb') + def __init__(self, package_dir, do_install): + MantidInstaller.__init__(self, package_dir, 'mantid*.deb', do_install) package = os.path.basename(self.mantidInstaller) if 'mantidnightly' in package: self.mantidPlotPath = '/opt/mantidnightly/bin/MantidPlot' @@ -189,8 +191,8 @@ class RPMInstaller(MantidInstaller): """Uses a rpm package to install mantid """ - def __init__(self, do_install): - MantidInstaller.__init__(self, do_install, 'mantid*.rpm') + def __init__(self, package_dir, do_install): + MantidInstaller.__init__(self, package_dir, 'mantid*.rpm', do_install) package = os.path.basename(self.mantidInstaller) if 'mantidnightly' in package: self.mantidPlotPath = '/opt/mantidnightly/bin/MantidPlot' @@ -222,8 +224,8 @@ def do_uninstall(self): class DMGInstaller(MantidInstaller): """Uses an OS X dmg file to install mantid """ - def __init__(self, do_install): - MantidInstaller.__init__(self, do_install, 'mantid-*.dmg') + def __init__(self, package_dir, do_install): + MantidInstaller.__init__(self, package_dir, 'mantid-*.dmg', do_install) self.mantidPlotPath = '/Applications/MantidPlot.app/Contents/MacOS/MantidPlot' os.environ['DYLD_LIBRARY_PATH'] = '/Applications/MantidPlot.app/Contents/MacOS' diff --git a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py index 933eb23ffe63..ca5c5f1be96e 100755 --- a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py +++ b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py @@ -3,14 +3,14 @@ import os # set up the command line options VERSION = "1.1" -PYFILE_PATH = os.path.dirname(os.path.realpath(__file__)) -DEFAULT_FRAMEWORK_LOC = os.path.realpath(os.path.join(PYFILE_PATH, "..","lib","systemtests")) -DATA_DIRS_LIST_PATH = os.path.join(PYFILE_PATH, "datasearch-directories.txt") -SAVE_DIR_LIST_PATH = os.path.join(PYFILE_PATH, "defaultsave-directory.txt") +THIS_MODULE_DIR = os.path.dirname(os.path.realpath(__file__)) +DEFAULT_FRAMEWORK_LOC = os.path.realpath(os.path.join(THIS_MODULE_DIR, "..","lib","systemtests")) +DATA_DIRS_LIST_PATH = os.path.join(THIS_MODULE_DIR, "datasearch-directories.txt") +SAVE_DIR_LIST_PATH = os.path.join(THIS_MODULE_DIR, "defaultsave-directory.txt") info = [] info.append("This program will configure mantid run all of the system tests located in") -info.append("the 'SystemTests/AnalysisTests' directory and log the results in 'logs/'.") +info.append("the 'tests/analysis' directory.") info.append("This program will create a temporary 'Mantid.user.properties' file which") info.append("it will rename to 'Mantid.user.properties.systest' upon completion. The") info.append("current version of the code does not print to stdout while the test is") From 1d77c360a9639df973b395bd627b92654fd62a68 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Tue, 10 Feb 2015 17:47:52 +0000 Subject: [PATCH 007/112] Create version_tested.log file in binary directory. Refs #10870 --- Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py b/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py index e28a706112b3..620d4e5e7563 100644 --- a/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py +++ b/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py @@ -81,7 +81,7 @@ try: # Keep hold of the version that was run version = run(installer.mantidPlotPath + ' -v') - version_tested = open('version_tested.log','w') + version_tested = open(os.path.join(output_dir,'version_tested.log'),'w') if version and len(version) > 0: version_tested.write(version) version_tested.close() From 2c47c9efb330b451e4ce7534fec9a400fec2e012 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Wed, 11 Feb 2015 16:03:45 +0000 Subject: [PATCH 008/112] Update buildscripts for new setup Changes: - any references to develop have been removed - pull_request builds will also build packages Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 70 +++++++++++++++------------ 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index 61417dc99d96..693cdaf874ae 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -4,9 +4,10 @@ # # Notes: # -# WORKSPACE, JOB_NAME & NODE_LABEL are environment variables that are set by -# Jenkins. The last one corresponds to any labels set on a slave. -# BUILD_THREADS & PARAVIEW_DIR should be set in the configuration of each slave. +# WORKSPACE, JOB_NAME, NODE_LABEL GIT_COMMIT are environment variables that +# are set by Jenkins. The last one corresponds to any labels set on a slave. +# BUILD_THREADS & PARAVIEW_DIR should be set in the configuration of each +# slave. ############################################################################### ############################################################################### @@ -15,6 +16,9 @@ cmake --version echo "SHA1=${sha1}" +############################################################################### +# Setup clang +############################################################################### if [[ ${JOB_NAME} == *clang* ]]; then # Assuming we are using the clang compiler echo "Using clang/llvm compiler." @@ -61,22 +65,37 @@ if [ -z "$MANTID_DATA_STORE" ]; then fi ############################################################################### -# Check whether this is a clean build (must have 'clean' in the job name) +# Check job requirements from the name ############################################################################### if [[ ${JOB_NAME} == *clean* ]]; then CLEANBUILD=true + BUILDPKG=true +fi +if [[ ${JOB_NAME} == *pull_requests* ]]; then + BUILDPKG=true +fi + +############################################################################### +# Clean build directory if required +############################################################################### +if [[ "$CLEANBUILD" == true ]]; then # Removing the build directory entirely guarantees a completely clean build rm -rf $WORKSPACE/build +fi - # Set some variables relating to the linux packages created from clean builds +############################################################################### +# Packaging options +############################################################################### +if [[ "$BUILDPKG" == true ]]; then + # Set some variables relating to the linux packages if [[ $(uname) != 'Darwin' ]]; then # Use different suffix for linux builds - if [[ ${JOB_NAME} == *master* ]]; then + if [[ ${JOB_NAME} == *release* ]]; then + PACKAGINGVARS="-DENVVARS_ON_INSTALL=True -DCPACK_SET_DESTDIR=ON -DPACKAGE_DOCS=ON" + elif [[ ${JOB_NAME} == *master* ]]; then PACKAGINGVARS="-DENVVARS_ON_INSTALL=False -DCMAKE_INSTALL_PREFIX=/opt/mantidnightly -DCPACK_PACKAGE_SUFFIX=nightly -DCPACK_SET_DESTDIR=OFF -DPACKAGE_DOCS=ON" - elif [[ ${JOB_NAME} == *develop* ]]; then + else PACKAGINGVARS="-DENVVARS_ON_INSTALL=False -DCMAKE_INSTALL_PREFIX=/opt/mantidunstable -DCPACK_PACKAGE_SUFFIX=unstable -DCPACK_SET_DESTDIR=OFF -DPACKAGE_DOCS=ON" - elif [[ ${JOB_NAME} == *release* ]]; then - PACKAGINGVARS="-DENVVARS_ON_INSTALL=True -DCPACK_SET_DESTDIR=ON -DPACKAGE_DOCS=ON" fi else # Mac packaging @@ -100,6 +119,12 @@ fi [ -d $WORKSPACE/build ] || mkdir $WORKSPACE/build cd $WORKSPACE/build +############################################################################### +# Clean up any artifacts from last build so that if it fails +# they don't get archived again +############################################################################### +rm -f *.dmg *.rpm *.deb *.tar.gz + ############################################################################### ## Check the required build configuration ############################################################################### @@ -148,38 +173,23 @@ rm -f ~/.mantid/Mantid.user.properties $SCL_ON_RHEL6 "ctest -j$BUILD_THREADS --schedule-random --output-on-failure" ############################################################################### -# Documentation -# Build Qt help on all platforms for a clean build so that it can be packaged +# Create the install kit if required. This includes building the Qt help +# documentation ############################################################################### -if [[ "$CLEANBUILD" == true ]]; then +if [[ "$BUILDPKG" == true ]]; then # Workaround so that the target can find the properties file # CMake doesn't easily allow environment variables on custom targets if [[ $(uname) == 'Darwin' ]]; then export MANTIDPATH=$PWD/bin fi $SCL_ON_RHEL6 "cmake --build . --target docs-qthelp" -fi - -############################################################################### -# Create the install kit if this is a clean or non-Mac build -############################################################################### -rm -f *.dmg *.rpm *.deb *.tar.gz -# Always build a package on linux -if [[ $(uname) != 'Darwin' ]]; then $SCL_ON_RHEL6 "cpack" -fi - -if [[ "$CLEANBUILD" == true ]]; then - # On the Mac, only create a package for clean builds - if [[ $(uname) == 'Darwin' ]]; then - $SCL_ON_RHEL6 "cpack" - fi - # We could build the source tarball anywhere, but we choose to do it on RHEL6 - # We also parcel up the documentation into a tar file that is easier to move around + # Source tarball on clean build (arbitrarily choose rhel6) + # Also, parcel up the documentation into a tar file that is easier to move around # and labelled by the commit id it was built with. This assumes the Jenkins git plugin # has set the GIT_COMMIT environment variable - if [[ "$ON_RHEL6" == true ]]; then + if [[ "$CLEANBUILD" == true && "$ON_RHEL6" == true ]]; then $SCL_ON_RHEL6 "cmake --build . --target docs-html" tar -cjf mantiddocs-g${GIT_COMMIT:0:7}.tar.bz2 --exclude='*.buildinfo' --exclude="MantidProject.q*" docs/html # The ..._PREFIX argument avoids opt/Mantid directories at the top of the tree From 316d13e2416fcf1cce09dbdb0ebcb31c917a2e82 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Thu, 12 Feb 2015 11:16:12 +0000 Subject: [PATCH 009/112] Run the system tests on RHEL6 pull request builds. Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 36 +++++++++++++++++++-------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index 693cdaf874ae..b1899d337d4a 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -64,6 +64,16 @@ if [ -z "$MANTID_DATA_STORE" ]; then export MANTID_DATA_STORE=$(dirname $WORKSPACE) fi +############################################################################### +# RHEL6 setup steps - nodes must have a "rhel6" label set (in lowercase) +############################################################################### +if [[ ${NODE_LABELS} == *rhel6* ]]; then + SCL_ON_RHEL6="scl enable mantidlibs" + ON_RHEL6=true +else + SCL_ON_RHEL6="eval" +fi + ############################################################################### # Check job requirements from the name ############################################################################### @@ -103,16 +113,6 @@ if [[ "$BUILDPKG" == true ]]; then fi fi -############################################################################### -# RHEL6 setup steps - nodes must have a "rhel6" label set (in lowercase) -############################################################################### -if [[ ${NODE_LABELS} == *rhel6* ]]; then - SCL_ON_RHEL6="scl enable mantidlibs" - ON_RHEL6=true -else - SCL_ON_RHEL6="eval" -fi - ############################################################################### # Create the build directory if it doesn't exist ############################################################################### @@ -169,7 +169,8 @@ $SCL_ON_RHEL6 "cmake --build . --target AllTests -- -j$BUILD_THREADS" # Run the tests ############################################################################### # Remove any Mantid.user.properties file -rm -f ~/.mantid/Mantid.user.properties +userprops=~/.mantid/Mantid.user.properties +rm -f $userprops $SCL_ON_RHEL6 "ctest -j$BUILD_THREADS --schedule-random --output-on-failure" ############################################################################### @@ -196,3 +197,16 @@ if [[ "$BUILDPKG" == true ]]; then $SCL_ON_RHEL6 "cpack --config CPackSourceConfig.cmake -D CPACK_PACKAGING_INSTALL_PREFIX=" fi fi + +############################################################################### +# Run the system tests on RHEL6 when doing a pull request build. Run +# from a package to have at least one Linux checks it install okay +############################################################################### +if [[ "${ON_RHEL6}" == true ]] && [[ ${JOB_NAME} == *pull_requests* ]]; then + PKGDIR=${WORKSPACE}/build + # Turn off usage reports and instrument downloading for the mantid call + # that creates the properties file + echo "UpdateInstrumentDefinitions.OnStartup = 0" > $userprops + echo "usagereports.enabled = 0" >> $userprops + python $WORKSPACE/Code/Mantid/Testing/SystemTests/scripts/InstallerTesting.py -o -d $PKGDIR +fi From 9ade93ddf9a7e4d419291d3bfe65e5b3c326abac Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Thu, 12 Feb 2015 11:29:05 +0000 Subject: [PATCH 010/112] Remove screenshots from MantidPlot tests They proved confusing when running the build scripts as they looked like they had come from building the documentation and had gone to the wrong directory. Refs #10870 --- Code/Mantid/MantidPlot/test/MantidPlot1DPlotTest.py | 3 --- .../Mantid/MantidPlot/test/MantidPlotProxiesTest.py | 3 --- .../MantidPlot/test/MantidPlotSliceViewerTest.py | 13 ++++++------- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/Code/Mantid/MantidPlot/test/MantidPlot1DPlotTest.py b/Code/Mantid/MantidPlot/test/MantidPlot1DPlotTest.py index 829047a78158..9f30dff27a0b 100644 --- a/Code/Mantid/MantidPlot/test/MantidPlot1DPlotTest.py +++ b/Code/Mantid/MantidPlot/test/MantidPlot1DPlotTest.py @@ -41,7 +41,6 @@ def tearDown(self): def test_plotSpectrum_errorBars(self): g = plotSpectrum("fake", 0, error_bars=True) - screenshot(g, "plotSpectrum_errorBars", "Call to plotSpectrum() of 1 spectrum, with error bars.") self.g = g def test_plotSpectrum_fromWorkspaceProxy(self): @@ -51,7 +50,6 @@ def test_plotSpectrum_fromWorkspaceProxy(self): def test_plotSpectrum_severalSpectra(self): g = plotSpectrum("fake", [0, 1]) - screenshot(g, "plotSpectrum_severalSpectra", "Call to plotSpectrum() of 2 spectra, no error bars.") self.g = g def test_Customized1DPlot(self): @@ -65,7 +63,6 @@ def test_Customized1DPlot(self): l.setTitleAlignment(QtCore.Qt.AlignLeft) l.setScale(2, 0.0, 3.0) l.setAntialiasing(True) - screenshot(g, "Customized1DPlot", "1D plot of a spectrum, with error bars, an orange line of width 2, a custom title in red Arial font, with X from 0 to 3") self.g = g def test_standard_plot_command(self): diff --git a/Code/Mantid/MantidPlot/test/MantidPlotProxiesTest.py b/Code/Mantid/MantidPlot/test/MantidPlotProxiesTest.py index 9c08fd1bcc6e..b1c355684955 100644 --- a/Code/Mantid/MantidPlot/test/MantidPlotProxiesTest.py +++ b/Code/Mantid/MantidPlot/test/MantidPlotProxiesTest.py @@ -121,7 +121,6 @@ def test_closing_MantidMatrix_plotGraph2D(self): mm = importMatrixWorkspace("fake", visible=True) g = mm.plotGraph2D() spec = g.activeLayer().spectrogram() - screenshot(g, "MantidMatrix.plotGraph2D", "Call to MantidMatrix.plotGraph2D() on a workspace.") self.try_closing(mm, "importMatrixWorkspace()") self.assertTrue(g._getHeldObject() is None, "Deleted graph safely when the parent MantidMatrix was deleted") self.assertTrue(spec._getHeldObject() is None, "Deleted spectrogram safely") @@ -135,13 +134,11 @@ def test_closing_MantidMatrix_plotGraph3D(self): def test_closing_getInstrumentView(self): iv = getInstrumentView("IRS26173") - screenshot(iv, "getInstrumentView", "Call to getInstrumentView() on a workspace.") self.try_closing(iv, "getInstrumentView()") def test_convertToWaterfall(self): g = plot(workspace("IRS26173"),(0,1,2,3,4)) convertToWaterfall(g) - screenshot(g, "convertToWaterfall", "Call to convertToWaterfall() on a workspace.") self.try_closing(g, "convertToWaterfall()") def test_dock_method_produces_docked_window_on_matrix(self): diff --git a/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py b/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py index 734da230cc4f..a3f7a0e3a8f7 100644 --- a/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py +++ b/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py @@ -41,7 +41,6 @@ def test_mouseMove(self): svw = plotSlice('uniform') svw.setSlicePoint(2, 2.5) moveMouseToCentre(svw._getHeldObject()) - screenshot(svw, "SliceViewer", "SliceViewer with mouse at center, showing coordinates.") def test_plotSlice_empty(self): """ Plot slice on an empty workspace """ @@ -68,7 +67,6 @@ def test_plot4D_workspace(self): svw.setSlicePoint(3, 7.5) self.assertAlmostEqual(svw.getSlicePoint(2), 2.5, 3) self.assertAlmostEqual(svw.getSlicePoint(3), 7.5, 3) - screenshot(svw, "SliceViewer_4D", "SliceViewer open to a 4D workspace; z=2.5, e=7.5.") svw.setXYDim("z", "e") self.assertEqual(svw.getDimX(), 2) self.assertEqual(svw.getDimY(), 3) @@ -114,10 +112,12 @@ def test_saveImage(self): dest = get_screenshot_dir() if not dest is None: filename = "SliceViewerSaveImage" - svw.saveImage(os.path.join(dest, filename+".png") ) - # Add to the HTML report - screenshot(None, filename, "SliceViewer: result of saveImage(). Should be only the 2D plot with a color bar (no GUI elements)", - png_exists=True) + filepath = os.path.join(dest, filename+".png") + svw.saveImage(filepath) + self.assertEquals(os.path.isfile(filepath), True, + "Screenshot was not written out as expected.") + if file_exists: + os.remove(filepath) def test_showLine(self): svw = plotSlice('uniform') @@ -133,7 +133,6 @@ def test_showLine(self): self.assertAlmostEqual(liner.getBinWidth(), 0.05, 3) # Width was set self.assertAlmostEqual(liner.getPlanarWidth(), 0.88, 3) - screenshot(svw, "SliceViewer_and_LineViewer", "SliceViewer with LineViewer open, showing line overlay and integrated line.") # Now turn it off svw.toggleLineMode(False) self.assertFalse( liner.isVisible(), "LineViewer was hidden") From e8354ad3233ca8cc5e5eff606c24c0d0ffcfbafd Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Thu, 12 Feb 2015 12:06:53 +0000 Subject: [PATCH 011/112] Move contents of TestingTools to Testing/Tools directory Refs #10870 --- Code/Mantid/Build/CMake/EmbeddedGTest.cmake | 4 +- Code/Mantid/Build/CMake/FindCxxTest.cmake | 4 +- Code/Mantid/Build/CMake/FindGMock.cmake | 4 +- Code/Mantid/Build/CMake/FindPyUnitTest.cmake | 8 +-- Code/Mantid/Framework/CMakeLists.txt | 4 +- .../Mantid/MantidPlot/test/mantidplottests.py | 2 +- .../Tools}/CMakeLists.txt | 0 .../Tools}/cxxtest/COPYING | 0 .../Tools}/cxxtest/README | 0 .../Tools}/cxxtest/TODO | 0 .../Tools}/cxxtest/Versions | 0 .../Tools}/cxxtest/build_tools/SCons/AUTHORS | 0 .../cxxtest/build_tools/SCons/cxxtest.py | 0 .../build_tools/SCons/test/default_env/README | 0 .../SCons/test/default_env/SConstruct | 0 .../SCons/test/default_env/TestDef.py | 0 .../SCons/test/empty_source_list/README | 0 .../SCons/test/empty_source_list/SConstruct | 0 .../SCons/test/empty_source_list/TestDef.py | 0 .../test/empty_source_list/requirement.hpp | 0 .../SCons/test/empty_source_list/test_bar.t.h | 0 .../SCons/test/empty_source_list/test_foo.t.h | 0 .../build_tools/SCons/test/eprouvette.py | 0 .../build_tools/SCons/test/expanding_#/README | 0 .../SCons/test/expanding_#/SConstruct | 0 .../SCons/test/expanding_#/TestDef.py | 0 .../build_tools/SCons/test/globbing/README | 0 .../SCons/test/globbing/SConstruct | 0 .../SCons/test/globbing/TestDef.py | 0 .../SCons/test/globbing/src/requirement.cpp | 0 .../SCons/test/globbing/src/requirement.h | 0 .../SCons/test/globbing/src/test_bar.t.h | 0 .../SCons/test/globbing/src/test_foo.t.h | 0 .../SCons/test/globbing_edmundo/README | 0 .../SCons/test/globbing_edmundo/SConstruct | 0 .../SCons/test/globbing_edmundo/TestDef.py | 0 .../SCons/test/globbing_edmundo/hello.cc | 0 .../SCons/test/globbing_edmundo/hello.hh | 0 .../SCons/test/globbing_edmundo/hellotest.t.h | 0 .../SCons/test/globbing_edmundo/main.cpp | 0 .../SCons/test/include_CCFLAGS/README | 0 .../SCons/test/include_CCFLAGS/SConstruct | 0 .../SCons/test/include_CCFLAGS/TestDef.py | 0 .../include_CCFLAGS/src/not-with-pedantic.h | 0 .../include_CCFLAGS/src/only_with_ansi.t.h | 0 .../SCons/test/include_CXXFLAGS/README | 0 .../SCons/test/include_CXXFLAGS/SConstruct | 0 .../SCons/test/include_CXXFLAGS/TestDef.py | 0 .../include_CXXFLAGS/src/not-with-pedantic.h | 0 .../SCons/test/multifile_tests/SConstruct | 0 .../SCons/test/multifile_tests/TestDef.py | 0 .../test/multifile_tests/src/requirement.cpp | 0 .../test/multifile_tests/src/requirement.h | 0 .../test/multifile_tests/src/test_bar.t.h | 0 .../test/multifile_tests/src/test_foo.t.h | 0 .../SCons/test/need_cpppath/SConstruct | 0 .../SCons/test/need_cpppath/TestDef.py | 0 .../SCons/test/need_cpppath/src/cpppath.t.h | 0 .../need_cpppath/src/cpppathdir/include.h | 0 .../test/nonstandard_cxxtest_dir/SConstruct | 0 .../test/nonstandard_cxxtest_dir/TestDef.py | 0 .../SCons/test/printer_propagation/SConstruct | 0 .../SCons/test/printer_propagation/TestDef.py | 0 .../printer_propagation/cxxtest/CrazyRunner.h | 0 .../test/printer_propagation/src/failtest.t.h | 0 .../SCons/test/recursive_sources/README | 0 .../SCons/test/recursive_sources/SConstruct | 0 .../SCons/test/recursive_sources/TestDef.py | 0 .../recursive_sources/src/requirement.cpp | 0 .../test/recursive_sources/src/requirement.h | 0 .../test/recursive_sources/src/test_bar.t.h | 0 .../test/recursive_sources/src/test_foo.t.h | 0 .../SCons/test/string_cpppath/SConstruct | 0 .../SCons/test/string_cpppath/TestDef.py | 0 .../SCons/test/string_cpppath/src/cpppath.t.h | 0 .../string_cpppath/src/cpppathdir/include.h | 0 .../SCons/test/target_syntax/SConstruct | 0 .../SCons/test/target_syntax/TestDef.py | 0 .../SCons/test/target_syntax/src/cpppath.t.h | 0 .../target_syntax/src/cpppathdir/include.h | 0 .../Tools}/cxxtest/cxxtest.spec | 0 .../Tools}/cxxtest/cxxtest/Descriptions.cpp | 0 .../Tools}/cxxtest/cxxtest/Descriptions.h | 0 .../cxxtest/cxxtest/DummyDescriptions.cpp | 0 .../cxxtest/cxxtest/DummyDescriptions.h | 0 .../Tools}/cxxtest/cxxtest/ErrorFormatter.h | 0 .../Tools}/cxxtest/cxxtest/ErrorPrinter.h | 0 .../Tools}/cxxtest/cxxtest/Flags.h | 0 .../Tools}/cxxtest/cxxtest/GlobalFixture.cpp | 0 .../Tools}/cxxtest/cxxtest/GlobalFixture.h | 0 .../Tools}/cxxtest/cxxtest/Gui.h | 0 .../Tools}/cxxtest/cxxtest/LinkedList.cpp | 0 .../Tools}/cxxtest/cxxtest/LinkedList.h | 0 .../Tools}/cxxtest/cxxtest/MantidFormatter.h | 0 .../Tools}/cxxtest/cxxtest/MantidPrinter.h | 0 .../Tools}/cxxtest/cxxtest/Mock.h | 0 .../Tools}/cxxtest/cxxtest/ParenPrinter.h | 0 .../Tools}/cxxtest/cxxtest/QtGui.h | 0 .../cxxtest/cxxtest/RealDescriptions.cpp | 0 .../Tools}/cxxtest/cxxtest/RealDescriptions.h | 0 .../Tools}/cxxtest/cxxtest/Root.cpp | 0 .../Tools}/cxxtest/cxxtest/SelfTest.h | 0 .../Tools}/cxxtest/cxxtest/StdHeaders.h | 0 .../Tools}/cxxtest/cxxtest/StdTestSuite.h | 0 .../Tools}/cxxtest/cxxtest/StdValueTraits.h | 0 .../Tools}/cxxtest/cxxtest/StdioFilePrinter.h | 0 .../Tools}/cxxtest/cxxtest/StdioPrinter.h | 0 .../Tools}/cxxtest/cxxtest/TeeListener.h | 0 .../Tools}/cxxtest/cxxtest/TestListener.h | 0 .../Tools}/cxxtest/cxxtest/TestMain.h | 0 .../Tools}/cxxtest/cxxtest/TestRunner.h | 0 .../Tools}/cxxtest/cxxtest/TestSuite.cpp | 0 .../Tools}/cxxtest/cxxtest/TestSuite.h | 0 .../Tools}/cxxtest/cxxtest/TestTracker.cpp | 0 .../Tools}/cxxtest/cxxtest/TestTracker.h | 0 .../Tools}/cxxtest/cxxtest/ValueTraits.cpp | 0 .../Tools}/cxxtest/cxxtest/ValueTraits.h | 0 .../Tools}/cxxtest/cxxtest/Win32Gui.h | 0 .../Tools}/cxxtest/cxxtest/WrappedTestSuite.h | 0 .../Tools}/cxxtest/cxxtest/X11Gui.h | 0 .../Tools}/cxxtest/cxxtest/XUnitPrinter.h | 0 .../Tools}/cxxtest/cxxtest/XmlFormatter.h | 0 .../Tools}/cxxtest/cxxtest/XmlPrinter.h | 0 .../Tools}/cxxtest/cxxtest/YesNoRunner.h | 0 .../Tools}/cxxtest/docs/.cvsignore | 0 .../Tools}/cxxtest/docs/Makefile | 0 .../Tools}/cxxtest/docs/convert.pl | 0 .../Tools}/cxxtest/docs/guide.texi | 0 .../Tools}/cxxtest/docs/qt.png | Bin .../Tools}/cxxtest/docs/qt2.png | Bin .../Tools}/cxxtest/docs/texinfo.tex | 0 .../Tools}/cxxtest/docs/win32.png | Bin .../Tools}/cxxtest/docs/x11.png | Bin .../Tools}/cxxtest/get_revision_from_cvs.pl | 0 .../Tools}/cxxtest/python/README.txt | 0 .../Tools}/cxxtest/python/cxxtest/__init__.py | 0 .../cxxtest/python/cxxtest/__release__.py | 0 .../cxxtest/python/cxxtest/cxxtest_misc.py | 0 .../cxxtest/python/cxxtest/cxxtest_parser.py | 0 .../cxxtest/python/cxxtest/cxxtestgen.py | 0 .../Tools}/cxxtest/python/ez_setup.py | 0 .../Tools}/cxxtest/python/scripts/cxxtestgen | 0 .../Tools}/cxxtest/python/setup.py | 0 .../Tools}/cxxtest/sample/.cvsignore | 0 .../Tools}/cxxtest/sample/Construct | 0 .../Tools}/cxxtest/sample/CreatedTest.h | 0 .../Tools}/cxxtest/sample/DeltaTest.h | 0 .../Tools}/cxxtest/sample/EnumTraits.h | 0 .../Tools}/cxxtest/sample/ExceptionTest.h | 0 .../Tools}/cxxtest/sample/FixtureTest.h | 0 .../Tools}/cxxtest/sample/Makefile.PL | 0 .../Tools}/cxxtest/sample/Makefile.bcc32 | 0 .../Tools}/cxxtest/sample/Makefile.msvc | 0 .../Tools}/cxxtest/sample/Makefile.unix | 0 .../Tools}/cxxtest/sample/MessageTest.h | 0 .../Tools}/cxxtest/sample/SCons/SConstruct | 0 .../cxxtest/sample/SCons/include/stack.h | 0 .../Tools}/cxxtest/sample/SCons/src/stack.c | 0 .../cxxtest/sample/SCons/tests/stack_test.h | 0 .../Tools}/cxxtest/sample/SimpleTest.h | 0 .../Tools}/cxxtest/sample/TraitsTest.h | 0 .../Tools}/cxxtest/sample/aborter.tpl | 0 .../Tools}/cxxtest/sample/file_printer.tpl | 0 .../cxxtest/sample/gui/GreenYellowRed.h | 0 .../Tools}/cxxtest/sample/mock/Dice.cpp | 0 .../Tools}/cxxtest/sample/mock/Dice.h | 0 .../Tools}/cxxtest/sample/mock/Makefile | 0 .../Tools}/cxxtest/sample/mock/MockStdlib.h | 0 .../Tools}/cxxtest/sample/mock/T/stdlib.h | 0 .../Tools}/cxxtest/sample/mock/TestDice.h | 0 .../cxxtest/sample/mock/mock_stdlib.cpp | 0 .../cxxtest/sample/mock/real_stdlib.cpp | 0 .../Tools}/cxxtest/sample/mock/roll.cpp | 0 .../cxxtest/sample/msvc/CxxTest_1_Run.dsp | 0 .../cxxtest/sample/msvc/CxxTest_2_Build.dsp | 0 .../sample/msvc/CxxTest_3_Generate.dsp | 0 .../cxxtest/sample/msvc/CxxTest_Workspace.dsw | 0 .../Tools}/cxxtest/sample/msvc/FixFiles.bat | 0 .../Tools}/cxxtest/sample/msvc/Makefile | 0 .../Tools}/cxxtest/sample/msvc/ReadMe.txt | 0 .../Tools}/cxxtest/sample/only.tpl | 0 .../Tools}/cxxtest/sample/parts/.cvsignore | 0 .../Tools}/cxxtest/sample/parts/Makefile.unix | 0 .../Tools}/cxxtest/sample/winddk/Makefile | 0 .../Tools}/cxxtest/sample/winddk/Makefile.inc | 0 .../Tools}/cxxtest/sample/winddk/RunTests.tpl | 0 .../Tools}/cxxtest/sample/winddk/SOURCES | 0 .../Tools}/cxxtest/sample/yes_no_runner.cpp | 0 .../Tools}/cxxtest/test/.cvsignore | 0 .../Tools}/cxxtest/test/AborterNoThrow.h | 0 .../Tools}/cxxtest/test/BadTest.h | 0 .../Tools}/cxxtest/test/Comments.h | 0 .../Tools}/cxxtest/test/DeepAbort.h | 0 .../Tools}/cxxtest/test/DefaultAbort.h | 0 .../Tools}/cxxtest/test/DefaultTraits.h | 0 .../Tools}/cxxtest/test/DoubleCall.h | 0 .../Tools}/cxxtest/test/DynamicAbort.h | 0 .../Tools}/cxxtest/test/DynamicMax.h | 0 .../Tools}/cxxtest/test/EmptySuite.h | 0 .../Tools}/cxxtest/test/Exceptions.h | 0 .../Tools}/cxxtest/test/Factor.h | 0 .../Tools}/cxxtest/test/ForceNoEh.h | 0 .../Tools}/cxxtest/test/GfSetUpFails.h | 0 .../Tools}/cxxtest/test/GfSetUpThrows.h | 0 .../Tools}/cxxtest/test/GfTearDownFails.h | 0 .../Tools}/cxxtest/test/GfTearDownThrows.h | 0 .../Tools}/cxxtest/test/GlobalFixtures.h | 0 .../Tools}/cxxtest/test/GoodSuite.h | 0 .../Tools}/cxxtest/test/GuiWait.h | 0 .../Tools}/cxxtest/test/HaveStd.h | 0 .../Tools}/cxxtest/test/IncludeTest.h | 0 .../Tools}/cxxtest/test/Int64.h | 0 .../Tools}/cxxtest/test/LessThanEquals.h | 0 .../Tools}/cxxtest/test/LongLong.h | 0 .../Tools}/cxxtest/test/LongTraits.h | 0 .../Tools}/cxxtest/test/Makefile | 0 .../Tools}/cxxtest/test/MaxDump.h | 0 .../Tools}/cxxtest/test/MockTest.h | 0 .../Tools}/cxxtest/test/NoEh.h | 0 .../Tools}/cxxtest/test/Part1.h | 0 .../Tools}/cxxtest/test/Part2.h | 0 .../Tools}/cxxtest/test/Relation.h | 0 .../Tools}/cxxtest/test/SameData.h | 0 .../Tools}/cxxtest/test/SameZero.h | 0 .../Tools}/cxxtest/test/SetUpWorldFails.h | 0 .../Tools}/cxxtest/test/SetUpWorldThrows.h | 0 .../Tools}/cxxtest/test/Something.h | 0 .../Tools}/cxxtest/test/StlTraits.h | 0 .../Tools}/cxxtest/test/TearDownWorldFails.h | 0 .../Tools}/cxxtest/test/TearDownWorldThrows.h | 0 .../Tools}/cxxtest/test/ThrowNoStd.h | 0 .../Tools}/cxxtest/test/ThrowNoStd.tpl | 0 .../Tools}/cxxtest/test/ThrowsAssert.h | 0 .../Tools}/cxxtest/test/TraitsTest.h | 0 .../Tools}/cxxtest/test/Tsm.h | 0 .../Tools}/cxxtest/test/UserTraits.h | 0 .../Tools}/cxxtest/test/UserTraits.tpl | 0 .../Tools}/cxxtest/test/VoidTraits.h | 0 .../Tools}/cxxtest/test/WideCharTest.h | 0 .../Tools}/cxxtest/test/WorldFixtures.h | 0 .../Tools}/cxxtest/test/abort.out | 0 .../Tools}/cxxtest/test/activate.tpl | 0 .../Tools}/cxxtest/test/anything.cpp | 0 .../Tools}/cxxtest/test/comments.out | 0 .../Tools}/cxxtest/test/cxxtest/DummyGui.h | 0 .../Tools}/cxxtest/test/default_abort.out | 0 .../Tools}/cxxtest/test/eh_normals.out | 0 .../Tools}/cxxtest/test/error.out | 0 .../Tools}/cxxtest/test/factor.out | 0 .../Tools}/cxxtest/test/fake/.cvsignore | 0 .../Tools}/cxxtest/test/fake/X11/Xlib.h | 0 .../Tools}/cxxtest/test/fake/X11/Xutil.h | 0 .../Tools}/cxxtest/test/fake/commctrl.h | 0 .../Tools}/cxxtest/test/fake/qapplication.h | 0 .../Tools}/cxxtest/test/fake/qglobal.h | 0 .../Tools}/cxxtest/test/fake/qlabel.h | 0 .../Tools}/cxxtest/test/fake/qlayout.h | 0 .../Tools}/cxxtest/test/fake/qmessagebox.h | 0 .../Tools}/cxxtest/test/fake/qpixmap.h | 0 .../Tools}/cxxtest/test/fake/qprogressbar.h | 0 .../Tools}/cxxtest/test/fake/qstatusbar.h | 0 .../Tools}/cxxtest/test/fake/qstring.h | 0 .../Tools}/cxxtest/test/fake/qwidget.h | 0 .../Tools}/cxxtest/test/fake/windows.h | 0 .../Tools}/cxxtest/test/gfsuf.out | 0 .../Tools}/cxxtest/test/gfsut.out | 0 .../Tools}/cxxtest/test/gftdf.out | 0 .../Tools}/cxxtest/test/gftdt.out | 0 .../Tools}/cxxtest/test/gfxs.out | 0 .../Tools}/cxxtest/test/good.out | 0 .../Tools}/cxxtest/test/gui.out | 0 .../Tools}/cxxtest/test/gui_paren.out | 0 .../Tools}/cxxtest/test/include.out | 0 .../Tools}/cxxtest/test/int64.cpp | 0 .../Tools}/cxxtest/test/int64.out | 0 .../Tools}/cxxtest/test/longlong.cpp | 0 .../Tools}/cxxtest/test/longlong.out | 0 .../Tools}/cxxtest/test/main.cpp | 0 .../Tools}/cxxtest/test/max.out | 0 .../Tools}/cxxtest/test/normal.out | 0 .../Tools}/cxxtest/test/paren.out | 0 .../Tools}/cxxtest/test/parts.out | 0 .../Tools}/cxxtest/test/preamble.out | 0 .../Tools}/cxxtest/test/preamble.tpl | 0 .../Tools}/cxxtest/test/runner.out | 0 .../Tools}/cxxtest/test/std.out | 0 .../Tools}/cxxtest/test/stl.out | 0 .../Tools}/cxxtest/test/stpltpl.cpp | 0 .../Tools}/cxxtest/test/suite.out | 0 .../Tools}/cxxtest/test/suite_test.out | 0 .../Tools}/cxxtest/test/suwf.out | 0 .../Tools}/cxxtest/test/suwt.out | 0 .../Tools}/cxxtest/test/tdwf.out | 0 .../Tools}/cxxtest/test/tdwt.out | 0 .../Tools}/cxxtest/test/test.pl | 0 .../Tools}/cxxtest/test/throw.out | 0 .../Tools}/cxxtest/test/tpltpl.cpp | 0 .../cxxtest/test/unit/LinkedList_test.t.h | 0 .../Tools}/cxxtest/test/unit/SConstruct | 0 .../Tools}/cxxtest/test/user.out | 0 .../Tools}/cxxtest/test/wchar.cpp | 0 .../Tools}/cxxtest/test/wchar.out | 0 .../Tools}/cxxtest/test/wildcard.out | 0 .../snippets/HtmlSnippet1.html | 0 .../www/cn-project-pages/snippets/page.xml | 0 .../Tools}/generatetestmain.py | 0 .../Tools}/gmock-1.6.0/CHANGES | 0 .../Tools}/gmock-1.6.0/CMakeLists.txt | 0 .../Tools}/gmock-1.6.0/CONTRIBUTORS | 0 .../Tools}/gmock-1.6.0/COPYING | 0 .../Tools}/gmock-1.6.0/Makefile.am | 0 .../Tools}/gmock-1.6.0/Makefile.in | 0 .../Tools}/gmock-1.6.0/README | 0 .../Tools}/gmock-1.6.0/aclocal.m4 | 0 .../Tools}/gmock-1.6.0/build-aux/config.guess | 0 .../Tools}/gmock-1.6.0/build-aux/config.h.in | 0 .../Tools}/gmock-1.6.0/build-aux/config.sub | 0 .../Tools}/gmock-1.6.0/build-aux/depcomp | 0 .../Tools}/gmock-1.6.0/build-aux/install-sh | 0 .../Tools}/gmock-1.6.0/build-aux/ltmain.sh | 0 .../Tools}/gmock-1.6.0/build-aux/missing | 0 .../Tools}/gmock-1.6.0/configure | 0 .../Tools}/gmock-1.6.0/configure.ac | 0 .../gmock-1.6.0/fused-src/gmock-gtest-all.cc | 0 .../gmock-1.6.0/fused-src/gmock/gmock.h | 0 .../gmock-1.6.0/fused-src/gmock_main.cc | 0 .../gmock-1.6.0/fused-src/gtest/gtest.h | 0 .../Tools}/gmock-1.6.0/gtest/CHANGES | 0 .../Tools}/gmock-1.6.0/gtest/CMakeLists.txt | 0 .../Tools}/gmock-1.6.0/gtest/CONTRIBUTORS | 0 .../Tools}/gmock-1.6.0/gtest/COPYING | 0 .../Tools}/gmock-1.6.0/gtest/Makefile.am | 0 .../Tools}/gmock-1.6.0/gtest/Makefile.in | 0 .../Tools}/gmock-1.6.0/gtest/README | 0 .../Tools}/gmock-1.6.0/gtest/aclocal.m4 | 0 .../gmock-1.6.0/gtest/build-aux/config.guess | 0 .../gmock-1.6.0/gtest/build-aux/config.h.in | 0 .../gmock-1.6.0/gtest/build-aux/config.sub | 0 .../gmock-1.6.0/gtest/build-aux/depcomp | 0 .../gmock-1.6.0/gtest/build-aux/install-sh | 0 .../gmock-1.6.0/gtest/build-aux/ltmain.sh | 0 .../gmock-1.6.0/gtest/build-aux/missing | 0 .../gtest/cmake/internal_utils.cmake | 0 .../gmock-1.6.0/gtest/codegear/gtest.cbproj | 0 .../gtest/codegear/gtest.groupproj | 0 .../gmock-1.6.0/gtest/codegear/gtest_all.cc | 0 .../gmock-1.6.0/gtest/codegear/gtest_link.cc | 0 .../gtest/codegear/gtest_main.cbproj | 0 .../gtest/codegear/gtest_unittest.cbproj | 0 .../Tools}/gmock-1.6.0/gtest/configure | 0 .../Tools}/gmock-1.6.0/gtest/configure.ac | 0 .../gtest/fused-src/gtest/gtest-all.cc | 0 .../gmock-1.6.0/gtest/fused-src/gtest/gtest.h | 0 .../gtest/fused-src/gtest/gtest_main.cc | 0 .../gtest/include/gtest/gtest-death-test.h | 0 .../gtest/include/gtest/gtest-message.h | 0 .../gtest/include/gtest/gtest-param-test.h | 0 .../include/gtest/gtest-param-test.h.pump | 0 .../gtest/include/gtest/gtest-printers.h | 0 .../gtest/include/gtest/gtest-spi.h | 0 .../gtest/include/gtest/gtest-test-part.h | 0 .../gtest/include/gtest/gtest-typed-test.h | 0 .../gmock-1.6.0/gtest/include/gtest/gtest.h | 0 .../gtest/include/gtest/gtest_pred_impl.h | 0 .../gtest/include/gtest/gtest_prod.h | 0 .../internal/gtest-death-test-internal.h | 0 .../include/gtest/internal/gtest-filepath.h | 0 .../include/gtest/internal/gtest-internal.h | 0 .../include/gtest/internal/gtest-linked_ptr.h | 0 .../internal/gtest-param-util-generated.h | 0 .../gtest-param-util-generated.h.pump | 0 .../include/gtest/internal/gtest-param-util.h | 0 .../gtest/include/gtest/internal/gtest-port.h | 0 .../include/gtest/internal/gtest-string.h | 0 .../include/gtest/internal/gtest-tuple.h | 0 .../include/gtest/internal/gtest-tuple.h.pump | 0 .../include/gtest/internal/gtest-type-util.h | 0 .../gtest/internal/gtest-type-util.h.pump | 0 .../gmock-1.6.0/gtest/m4/acx_pthread.m4 | 0 .../Tools}/gmock-1.6.0/gtest/m4/gtest.m4 | 0 .../Tools}/gmock-1.6.0/gtest/m4/libtool.m4 | 0 .../Tools}/gmock-1.6.0/gtest/m4/ltoptions.m4 | 0 .../Tools}/gmock-1.6.0/gtest/m4/ltsugar.m4 | 0 .../Tools}/gmock-1.6.0/gtest/m4/ltversion.m4 | 0 .../gmock-1.6.0/gtest/m4/lt~obsolete.m4 | 0 .../gmock-1.6.0/gtest/msvc/gtest-md.sln | 0 .../gmock-1.6.0/gtest/msvc/gtest-md.vcproj | 0 .../Tools}/gmock-1.6.0/gtest/msvc/gtest.sln | 0 .../gmock-1.6.0/gtest/msvc/gtest.vcproj | 0 .../gtest/msvc/gtest_main-md.vcproj | 0 .../gmock-1.6.0/gtest/msvc/gtest_main.vcproj | 0 .../gtest/msvc/gtest_prod_test-md.vcproj | 0 .../gtest/msvc/gtest_prod_test.vcproj | 0 .../gtest/msvc/gtest_unittest-md.vcproj | 0 .../gtest/msvc/gtest_unittest.vcproj | 0 .../gmock-1.6.0/gtest/samples/prime_tables.h | 0 .../gmock-1.6.0/gtest/samples/sample1.cc | 0 .../gmock-1.6.0/gtest/samples/sample1.h | 0 .../gtest/samples/sample10_unittest.cc | 0 .../gtest/samples/sample1_unittest.cc | 0 .../gmock-1.6.0/gtest/samples/sample2.cc | 0 .../gmock-1.6.0/gtest/samples/sample2.h | 0 .../gtest/samples/sample2_unittest.cc | 0 .../gmock-1.6.0/gtest/samples/sample3-inl.h | 0 .../gtest/samples/sample3_unittest.cc | 0 .../gmock-1.6.0/gtest/samples/sample4.cc | 0 .../gmock-1.6.0/gtest/samples/sample4.h | 0 .../gtest/samples/sample4_unittest.cc | 0 .../gtest/samples/sample5_unittest.cc | 0 .../gtest/samples/sample6_unittest.cc | 0 .../gtest/samples/sample7_unittest.cc | 0 .../gtest/samples/sample8_unittest.cc | 0 .../gtest/samples/sample9_unittest.cc | 0 .../gtest/scripts/fuse_gtest_files.py | 0 .../gtest/scripts/gen_gtest_pred_impl.py | 0 .../gmock-1.6.0/gtest/scripts/gtest-config.in | 0 .../Tools}/gmock-1.6.0/gtest/scripts/pump.py | 0 .../Tools}/gmock-1.6.0/gtest/src/gtest-all.cc | 0 .../gmock-1.6.0/gtest/src/gtest-death-test.cc | 0 .../gmock-1.6.0/gtest/src/gtest-filepath.cc | 0 .../gtest/src/gtest-internal-inl.h | 0 .../gmock-1.6.0/gtest/src/gtest-port.cc | 0 .../gmock-1.6.0/gtest/src/gtest-printers.cc | 0 .../gmock-1.6.0/gtest/src/gtest-test-part.cc | 0 .../gmock-1.6.0/gtest/src/gtest-typed-test.cc | 0 .../Tools}/gmock-1.6.0/gtest/src/gtest.cc | 0 .../gmock-1.6.0/gtest/src/gtest_main.cc | 0 .../gtest/test/gtest-death-test_ex_test.cc | 0 .../gtest/test/gtest-death-test_test.cc | 0 .../gtest/test/gtest-filepath_test.cc | 0 .../gtest/test/gtest-linked_ptr_test.cc | 0 .../gtest/test/gtest-listener_test.cc | 0 .../gtest/test/gtest-message_test.cc | 0 .../gtest/test/gtest-options_test.cc | 0 .../gtest/test/gtest-param-test2_test.cc | 0 .../gtest/test/gtest-param-test_test.cc | 0 .../gtest/test/gtest-param-test_test.h | 0 .../gmock-1.6.0/gtest/test/gtest-port_test.cc | 0 .../gtest/test/gtest-printers_test.cc | 0 .../gtest/test/gtest-test-part_test.cc | 0 .../gtest/test/gtest-tuple_test.cc | 0 .../gtest/test/gtest-typed-test2_test.cc | 0 .../gtest/test/gtest-typed-test_test.cc | 0 .../gtest/test/gtest-typed-test_test.h | 0 .../gtest/test/gtest-unittest-api_test.cc | 0 .../gmock-1.6.0/gtest/test/gtest_all_test.cc | 0 .../test/gtest_break_on_failure_unittest.py | 0 .../test/gtest_break_on_failure_unittest_.cc | 0 .../gtest/test/gtest_catch_exceptions_test.py | 0 .../test/gtest_catch_exceptions_test_.cc | 0 .../gtest/test/gtest_color_test.py | 0 .../gtest/test/gtest_color_test_.cc | 0 .../gtest/test/gtest_env_var_test.py | 0 .../gtest/test/gtest_env_var_test_.cc | 0 .../gtest/test/gtest_environment_test.cc | 0 .../gtest/test/gtest_filter_unittest.py | 0 .../gtest/test/gtest_filter_unittest_.cc | 0 .../gmock-1.6.0/gtest/test/gtest_help_test.py | 0 .../gtest/test/gtest_help_test_.cc | 0 .../gtest/test/gtest_list_tests_unittest.py | 0 .../gtest/test/gtest_list_tests_unittest_.cc | 0 .../gtest/test/gtest_main_unittest.cc | 0 .../gtest/test/gtest_no_test_unittest.cc | 0 .../gtest/test/gtest_output_test.py | 0 .../gtest/test/gtest_output_test_.cc | 0 .../test/gtest_output_test_golden_lin.txt | 0 .../gtest/test/gtest_pred_impl_unittest.cc | 0 .../gmock-1.6.0/gtest/test/gtest_prod_test.cc | 0 .../gtest/test/gtest_repeat_test.cc | 0 .../gtest/test/gtest_shuffle_test.py | 0 .../gtest/test/gtest_shuffle_test_.cc | 0 .../gtest/test/gtest_sole_header_test.cc | 0 .../gtest/test/gtest_stress_test.cc | 0 .../gtest/test/gtest_test_utils.py | 0 .../test/gtest_throw_on_failure_ex_test.cc | 0 .../gtest/test/gtest_throw_on_failure_test.py | 0 .../test/gtest_throw_on_failure_test_.cc | 0 .../gtest/test/gtest_uninitialized_test.py | 0 .../gtest/test/gtest_uninitialized_test_.cc | 0 .../gmock-1.6.0/gtest/test/gtest_unittest.cc | 0 .../gtest/test/gtest_xml_outfile1_test_.cc | 0 .../gtest/test/gtest_xml_outfile2_test_.cc | 0 .../gtest/test/gtest_xml_outfiles_test.py | 0 .../gtest/test/gtest_xml_output_unittest.py | 0 .../gtest/test/gtest_xml_output_unittest_.cc | 0 .../gtest/test/gtest_xml_test_utils.py | 0 .../gmock-1.6.0/gtest/test/production.cc | 0 .../gmock-1.6.0/gtest/test/production.h | 0 .../gtest/xcode/Config/DebugProject.xcconfig | 0 .../xcode/Config/FrameworkTarget.xcconfig | 0 .../gtest/xcode/Config/General.xcconfig | 0 .../xcode/Config/ReleaseProject.xcconfig | 0 .../xcode/Config/StaticLibraryTarget.xcconfig | 0 .../gtest/xcode/Config/TestTarget.xcconfig | 0 .../gtest/xcode/Resources/Info.plist | 0 .../xcode/Samples/FrameworkSample/Info.plist | 0 .../WidgetFramework.xcodeproj/project.pbxproj | 0 .../xcode/Samples/FrameworkSample/runtests.sh | 0 .../xcode/Samples/FrameworkSample/widget.cc | 0 .../xcode/Samples/FrameworkSample/widget.h | 0 .../Samples/FrameworkSample/widget_test.cc | 0 .../gtest/xcode/Scripts/runtests.sh | 0 .../gtest/xcode/Scripts/versiongenerate.py | 0 .../xcode/gtest.xcodeproj/project.pbxproj | 0 .../gmock-1.6.0/include/gmock/gmock-actions.h | 0 .../include/gmock/gmock-cardinalities.h | 0 .../include/gmock/gmock-generated-actions.h | 0 .../gmock/gmock-generated-actions.h.pump | 0 .../gmock/gmock-generated-function-mockers.h | 0 .../gmock-generated-function-mockers.h.pump | 0 .../include/gmock/gmock-generated-matchers.h | 0 .../gmock/gmock-generated-matchers.h.pump | 0 .../gmock/gmock-generated-nice-strict.h | 0 .../gmock/gmock-generated-nice-strict.h.pump | 0 .../include/gmock/gmock-matchers.h | 0 .../include/gmock/gmock-more-actions.h | 0 .../include/gmock/gmock-spec-builders.h | 0 .../Tools}/gmock-1.6.0/include/gmock/gmock.h | 0 .../internal/gmock-generated-internal-utils.h | 0 .../gmock-generated-internal-utils.h.pump | 0 .../gmock/internal/gmock-internal-utils.h | 0 .../include/gmock/internal/gmock-port.h | 0 .../Tools}/gmock-1.6.0/msvc/2005/gmock.sln | 0 .../Tools}/gmock-1.6.0/msvc/2005/gmock.vcproj | 0 .../msvc/2005/gmock_config.vsprops | 0 .../gmock-1.6.0/msvc/2005/gmock_main.vcproj | 0 .../gmock-1.6.0/msvc/2005/gmock_test.vcproj | 0 .../Tools}/gmock-1.6.0/msvc/2010/gmock.sln | 0 .../gmock-1.6.0/msvc/2010/gmock.vcxproj | 0 .../gmock-1.6.0/msvc/2010/gmock_config.props | 0 .../gmock-1.6.0/msvc/2010/gmock_main.vcxproj | 0 .../gmock-1.6.0/msvc/2010/gmock_test.vcxproj | 0 .../gmock-1.6.0/scripts/fuse_gmock_files.py | 0 .../gmock-1.6.0/scripts/generator/COPYING | 0 .../gmock-1.6.0/scripts/generator/README | 0 .../scripts/generator/README.cppclean | 0 .../scripts/generator/cpp/__init__.py | 0 .../gmock-1.6.0/scripts/generator/cpp/ast.py | 0 .../scripts/generator/cpp/gmock_class.py | 0 .../scripts/generator/cpp/keywords.py | 0 .../scripts/generator/cpp/tokenize.py | 0 .../scripts/generator/cpp/utils.py | 0 .../scripts/generator/gmock_gen.py | 0 .../gmock-1.6.0/scripts/gmock-config.in | 0 .../Tools}/gmock-1.6.0/src/gmock-all.cc | 0 .../gmock-1.6.0/src/gmock-cardinalities.cc | 0 .../gmock-1.6.0/src/gmock-internal-utils.cc | 0 .../Tools}/gmock-1.6.0/src/gmock-matchers.cc | 0 .../gmock-1.6.0/src/gmock-spec-builders.cc | 0 .../Tools}/gmock-1.6.0/src/gmock.cc | 0 .../Tools}/gmock-1.6.0/src/gmock_main.cc | 0 .../gmock-1.6.0/test/gmock-actions_test.cc | 0 .../test/gmock-cardinalities_test.cc | 0 .../test/gmock-generated-actions_test.cc | 0 .../gmock-generated-function-mockers_test.cc | 0 .../gmock-generated-internal-utils_test.cc | 0 .../test/gmock-generated-matchers_test.cc | 0 .../test/gmock-internal-utils_test.cc | 0 .../gmock-1.6.0/test/gmock-matchers_test.cc | 0 .../test/gmock-more-actions_test.cc | 0 .../test/gmock-nice-strict_test.cc | 0 .../gmock-1.6.0/test/gmock-port_test.cc | 0 .../test/gmock-spec-builders_test.cc | 0 .../Tools}/gmock-1.6.0/test/gmock_all_test.cc | 0 .../gmock-1.6.0/test/gmock_leak_test.py | 0 .../gmock-1.6.0/test/gmock_leak_test_.cc | 0 .../gmock-1.6.0/test/gmock_link2_test.cc | 0 .../gmock-1.6.0/test/gmock_link_test.cc | 0 .../Tools}/gmock-1.6.0/test/gmock_link_test.h | 0 .../gmock-1.6.0/test/gmock_output_test.py | 0 .../gmock-1.6.0/test/gmock_output_test_.cc | 0 .../test/gmock_output_test_golden.txt | 0 .../Tools}/gmock-1.6.0/test/gmock_test.cc | 0 .../gmock-1.6.0/test/gmock_test_utils.py | 0 .../Tools}/gmock-1.7.0/CHANGES | 0 .../Tools}/gmock-1.7.0/CMakeLists.txt | 0 .../Tools}/gmock-1.7.0/CONTRIBUTORS | 0 .../Tools}/gmock-1.7.0/LICENSE | 0 .../Tools}/gmock-1.7.0/Makefile.am | 0 .../Tools}/gmock-1.7.0/Makefile.in | 0 .../Tools}/gmock-1.7.0/README | 0 .../Tools}/gmock-1.7.0/aclocal.m4 | 0 .../Tools}/gmock-1.7.0/build-aux/config.guess | 0 .../Tools}/gmock-1.7.0/build-aux/config.h.in | 0 .../Tools}/gmock-1.7.0/build-aux/config.sub | 0 .../Tools}/gmock-1.7.0/build-aux/depcomp | 0 .../Tools}/gmock-1.7.0/build-aux/install-sh | 0 .../Tools}/gmock-1.7.0/build-aux/ltmain.sh | 0 .../Tools}/gmock-1.7.0/build-aux/missing | 0 .../Tools}/gmock-1.7.0/configure | 0 .../Tools}/gmock-1.7.0/configure.ac | 0 .../gmock-1.7.0/fused-src/gmock-gtest-all.cc | 0 .../gmock-1.7.0/fused-src/gmock/gmock.h | 0 .../gmock-1.7.0/fused-src/gmock_main.cc | 0 .../gmock-1.7.0/fused-src/gtest/gtest.h | 0 .../Tools}/gmock-1.7.0/gtest/CHANGES | 0 .../Tools}/gmock-1.7.0/gtest/CMakeLists.txt | 0 .../Tools}/gmock-1.7.0/gtest/CONTRIBUTORS | 0 .../Tools}/gmock-1.7.0/gtest/LICENSE | 0 .../Tools}/gmock-1.7.0/gtest/Makefile.am | 0 .../Tools}/gmock-1.7.0/gtest/Makefile.in | 0 .../Tools}/gmock-1.7.0/gtest/README | 0 .../Tools}/gmock-1.7.0/gtest/aclocal.m4 | 0 .../gmock-1.7.0/gtest/build-aux/config.guess | 0 .../gmock-1.7.0/gtest/build-aux/config.h.in | 0 .../gmock-1.7.0/gtest/build-aux/config.sub | 0 .../gmock-1.7.0/gtest/build-aux/depcomp | 0 .../gmock-1.7.0/gtest/build-aux/install-sh | 0 .../gmock-1.7.0/gtest/build-aux/ltmain.sh | 0 .../gmock-1.7.0/gtest/build-aux/missing | 0 .../gtest/cmake/internal_utils.cmake | 0 .../gmock-1.7.0/gtest/codegear/gtest.cbproj | 0 .../gtest/codegear/gtest.groupproj | 0 .../gmock-1.7.0/gtest/codegear/gtest_all.cc | 0 .../gmock-1.7.0/gtest/codegear/gtest_link.cc | 0 .../gtest/codegear/gtest_main.cbproj | 0 .../gtest/codegear/gtest_unittest.cbproj | 0 .../Tools}/gmock-1.7.0/gtest/configure | 0 .../Tools}/gmock-1.7.0/gtest/configure.ac | 0 .../gtest/fused-src/gtest/gtest-all.cc | 0 .../gmock-1.7.0/gtest/fused-src/gtest/gtest.h | 0 .../gtest/fused-src/gtest/gtest_main.cc | 0 .../gtest/include/gtest/gtest-death-test.h | 0 .../gtest/include/gtest/gtest-message.h | 0 .../gtest/include/gtest/gtest-param-test.h | 0 .../include/gtest/gtest-param-test.h.pump | 0 .../gtest/include/gtest/gtest-printers.h | 0 .../gtest/include/gtest/gtest-spi.h | 0 .../gtest/include/gtest/gtest-test-part.h | 0 .../gtest/include/gtest/gtest-typed-test.h | 0 .../gmock-1.7.0/gtest/include/gtest/gtest.h | 0 .../gtest/include/gtest/gtest_pred_impl.h | 0 .../gtest/include/gtest/gtest_prod.h | 0 .../internal/gtest-death-test-internal.h | 0 .../include/gtest/internal/gtest-filepath.h | 0 .../include/gtest/internal/gtest-internal.h | 0 .../include/gtest/internal/gtest-linked_ptr.h | 0 .../internal/gtest-param-util-generated.h | 0 .../gtest-param-util-generated.h.pump | 0 .../include/gtest/internal/gtest-param-util.h | 0 .../gtest/include/gtest/internal/gtest-port.h | 0 .../include/gtest/internal/gtest-string.h | 0 .../include/gtest/internal/gtest-tuple.h | 0 .../include/gtest/internal/gtest-tuple.h.pump | 0 .../include/gtest/internal/gtest-type-util.h | 0 .../gtest/internal/gtest-type-util.h.pump | 0 .../gmock-1.7.0/gtest/m4/acx_pthread.m4 | 0 .../Tools}/gmock-1.7.0/gtest/m4/gtest.m4 | 0 .../Tools}/gmock-1.7.0/gtest/m4/libtool.m4 | 0 .../Tools}/gmock-1.7.0/gtest/m4/ltoptions.m4 | 0 .../Tools}/gmock-1.7.0/gtest/m4/ltsugar.m4 | 0 .../Tools}/gmock-1.7.0/gtest/m4/ltversion.m4 | 0 .../gmock-1.7.0/gtest/m4/lt~obsolete.m4 | 0 .../gmock-1.7.0/gtest/samples/prime_tables.h | 0 .../gmock-1.7.0/gtest/samples/sample1.cc | 0 .../gmock-1.7.0/gtest/samples/sample1.h | 0 .../gtest/samples/sample10_unittest.cc | 0 .../gtest/samples/sample1_unittest.cc | 0 .../gmock-1.7.0/gtest/samples/sample2.cc | 0 .../gmock-1.7.0/gtest/samples/sample2.h | 0 .../gtest/samples/sample2_unittest.cc | 0 .../gmock-1.7.0/gtest/samples/sample3-inl.h | 0 .../gtest/samples/sample3_unittest.cc | 0 .../gmock-1.7.0/gtest/samples/sample4.cc | 0 .../gmock-1.7.0/gtest/samples/sample4.h | 0 .../gtest/samples/sample4_unittest.cc | 0 .../gtest/samples/sample5_unittest.cc | 0 .../gtest/samples/sample6_unittest.cc | 0 .../gtest/samples/sample7_unittest.cc | 0 .../gtest/samples/sample8_unittest.cc | 0 .../gtest/samples/sample9_unittest.cc | 0 .../gtest/scripts/fuse_gtest_files.py | 0 .../gtest/scripts/gen_gtest_pred_impl.py | 0 .../gmock-1.7.0/gtest/scripts/gtest-config.in | 0 .../Tools}/gmock-1.7.0/gtest/scripts/pump.py | 0 .../Tools}/gmock-1.7.0/gtest/src/gtest-all.cc | 0 .../gmock-1.7.0/gtest/src/gtest-death-test.cc | 0 .../gmock-1.7.0/gtest/src/gtest-filepath.cc | 0 .../gtest/src/gtest-internal-inl.h | 0 .../gmock-1.7.0/gtest/src/gtest-port.cc | 0 .../gmock-1.7.0/gtest/src/gtest-printers.cc | 0 .../gmock-1.7.0/gtest/src/gtest-test-part.cc | 0 .../gmock-1.7.0/gtest/src/gtest-typed-test.cc | 0 .../Tools}/gmock-1.7.0/gtest/src/gtest.cc | 0 .../gmock-1.7.0/gtest/src/gtest_main.cc | 0 .../gtest/test/gtest-death-test_ex_test.cc | 0 .../gtest/test/gtest-death-test_test.cc | 0 .../gtest/test/gtest-filepath_test.cc | 0 .../gtest/test/gtest-linked_ptr_test.cc | 0 .../gtest/test/gtest-listener_test.cc | 0 .../gtest/test/gtest-message_test.cc | 0 .../gtest/test/gtest-options_test.cc | 0 .../gtest/test/gtest-param-test2_test.cc | 0 .../gtest/test/gtest-param-test_test.cc | 0 .../gtest/test/gtest-param-test_test.h | 0 .../gmock-1.7.0/gtest/test/gtest-port_test.cc | 0 .../gtest/test/gtest-printers_test.cc | 0 .../gtest/test/gtest-test-part_test.cc | 0 .../gtest/test/gtest-tuple_test.cc | 0 .../gtest/test/gtest-typed-test2_test.cc | 0 .../gtest/test/gtest-typed-test_test.cc | 0 .../gtest/test/gtest-typed-test_test.h | 0 .../gtest/test/gtest-unittest-api_test.cc | 0 .../gmock-1.7.0/gtest/test/gtest_all_test.cc | 0 .../test/gtest_break_on_failure_unittest.py | 0 .../test/gtest_break_on_failure_unittest_.cc | 0 .../gtest/test/gtest_catch_exceptions_test.py | 0 .../test/gtest_catch_exceptions_test_.cc | 0 .../gtest/test/gtest_color_test.py | 0 .../gtest/test/gtest_color_test_.cc | 0 .../gtest/test/gtest_env_var_test.py | 0 .../gtest/test/gtest_env_var_test_.cc | 0 .../gtest/test/gtest_environment_test.cc | 0 .../gtest/test/gtest_filter_unittest.py | 0 .../gtest/test/gtest_filter_unittest_.cc | 0 .../gmock-1.7.0/gtest/test/gtest_help_test.py | 0 .../gtest/test/gtest_help_test_.cc | 0 .../gtest/test/gtest_list_tests_unittest.py | 0 .../gtest/test/gtest_list_tests_unittest_.cc | 0 .../gtest/test/gtest_main_unittest.cc | 0 .../gtest/test/gtest_no_test_unittest.cc | 0 .../gtest/test/gtest_output_test.py | 0 .../gtest/test/gtest_output_test_.cc | 0 .../test/gtest_output_test_golden_lin.txt | 0 .../gtest/test/gtest_pred_impl_unittest.cc | 0 .../gtest/test/gtest_premature_exit_test.cc | 0 .../gmock-1.7.0/gtest/test/gtest_prod_test.cc | 0 .../gtest/test/gtest_repeat_test.cc | 0 .../gtest/test/gtest_shuffle_test.py | 0 .../gtest/test/gtest_shuffle_test_.cc | 0 .../gtest/test/gtest_sole_header_test.cc | 0 .../gtest/test/gtest_stress_test.cc | 0 .../gtest/test/gtest_test_utils.py | 0 .../test/gtest_throw_on_failure_ex_test.cc | 0 .../gtest/test/gtest_throw_on_failure_test.py | 0 .../test/gtest_throw_on_failure_test_.cc | 0 .../gtest/test/gtest_uninitialized_test.py | 0 .../gtest/test/gtest_uninitialized_test_.cc | 0 .../gmock-1.7.0/gtest/test/gtest_unittest.cc | 0 .../gtest/test/gtest_xml_outfile1_test_.cc | 0 .../gtest/test/gtest_xml_outfile2_test_.cc | 0 .../gtest/test/gtest_xml_outfiles_test.py | 0 .../gtest/test/gtest_xml_output_unittest.py | 0 .../gtest/test/gtest_xml_output_unittest_.cc | 0 .../gtest/test/gtest_xml_test_utils.py | 0 .../gmock-1.7.0/gtest/test/production.cc | 0 .../gmock-1.7.0/gtest/test/production.h | 0 .../gtest/xcode/Config/DebugProject.xcconfig | 0 .../xcode/Config/FrameworkTarget.xcconfig | 0 .../gtest/xcode/Config/General.xcconfig | 0 .../xcode/Config/ReleaseProject.xcconfig | 0 .../xcode/Config/StaticLibraryTarget.xcconfig | 0 .../gtest/xcode/Config/TestTarget.xcconfig | 0 .../gtest/xcode/Resources/Info.plist | 0 .../xcode/Samples/FrameworkSample/Info.plist | 0 .../WidgetFramework.xcodeproj/project.pbxproj | 0 .../xcode/Samples/FrameworkSample/runtests.sh | 0 .../xcode/Samples/FrameworkSample/widget.cc | 0 .../xcode/Samples/FrameworkSample/widget.h | 0 .../Samples/FrameworkSample/widget_test.cc | 0 .../gtest/xcode/Scripts/runtests.sh | 0 .../gtest/xcode/Scripts/versiongenerate.py | 0 .../xcode/gtest.xcodeproj/project.pbxproj | 0 .../gmock-1.7.0/include/gmock/gmock-actions.h | 0 .../include/gmock/gmock-cardinalities.h | 0 .../include/gmock/gmock-generated-actions.h | 0 .../gmock/gmock-generated-actions.h.pump | 0 .../gmock/gmock-generated-function-mockers.h | 0 .../gmock-generated-function-mockers.h.pump | 0 .../include/gmock/gmock-generated-matchers.h | 0 .../gmock/gmock-generated-matchers.h.pump | 0 .../gmock/gmock-generated-nice-strict.h | 0 .../gmock/gmock-generated-nice-strict.h.pump | 0 .../include/gmock/gmock-matchers.h | 0 .../include/gmock/gmock-more-actions.h | 0 .../include/gmock/gmock-more-matchers.h | 0 .../include/gmock/gmock-spec-builders.h | 0 .../Tools}/gmock-1.7.0/include/gmock/gmock.h | 0 .../internal/gmock-generated-internal-utils.h | 0 .../gmock-generated-internal-utils.h.pump | 0 .../gmock/internal/gmock-internal-utils.h | 0 .../include/gmock/internal/gmock-port.h | 0 .../msvc/2005/gmock_config.vsprops | 0 .../gmock-1.7.0/msvc/2010/gmock_config.props | 0 .../gmock-1.7.0/scripts/fuse_gmock_files.py | 0 .../gmock-1.7.0/scripts/generator/LICENSE | 0 .../gmock-1.7.0/scripts/generator/README | 0 .../scripts/generator/README.cppclean | 0 .../scripts/generator/cpp/__init__.py | 0 .../gmock-1.7.0/scripts/generator/cpp/ast.py | 0 .../scripts/generator/cpp/gmock_class.py | 0 .../scripts/generator/cpp/keywords.py | 0 .../scripts/generator/cpp/tokenize.py | 0 .../scripts/generator/cpp/utils.py | 0 .../scripts/generator/gmock_gen.py | 0 .../gmock-1.7.0/scripts/gmock-config.in | 0 .../Tools}/gmock-1.7.0/src/gmock-all.cc | 0 .../gmock-1.7.0/src/gmock-cardinalities.cc | 0 .../gmock-1.7.0/src/gmock-internal-utils.cc | 0 .../Tools}/gmock-1.7.0/src/gmock-matchers.cc | 0 .../gmock-1.7.0/src/gmock-spec-builders.cc | 0 .../Tools}/gmock-1.7.0/src/gmock.cc | 0 .../Tools}/gmock-1.7.0/src/gmock_main.cc | 0 .../gmock-1.7.0/test/gmock-actions_test.cc | 0 .../test/gmock-cardinalities_test.cc | 0 .../test/gmock-generated-actions_test.cc | 0 .../gmock-generated-function-mockers_test.cc | 0 .../gmock-generated-internal-utils_test.cc | 0 .../test/gmock-generated-matchers_test.cc | 0 .../test/gmock-internal-utils_test.cc | 0 .../gmock-1.7.0/test/gmock-matchers_test.cc | 0 .../test/gmock-more-actions_test.cc | 0 .../test/gmock-nice-strict_test.cc | 0 .../gmock-1.7.0/test/gmock-port_test.cc | 0 .../test/gmock-spec-builders_test.cc | 0 .../Tools}/gmock-1.7.0/test/gmock_all_test.cc | 0 .../Tools}/gmock-1.7.0/test/gmock_ex_test.cc | 0 .../gmock-1.7.0/test/gmock_leak_test.py | 0 .../gmock-1.7.0/test/gmock_leak_test_.cc | 0 .../gmock-1.7.0/test/gmock_link2_test.cc | 0 .../gmock-1.7.0/test/gmock_link_test.cc | 0 .../Tools}/gmock-1.7.0/test/gmock_link_test.h | 0 .../gmock-1.7.0/test/gmock_output_test.py | 0 .../gmock-1.7.0/test/gmock_output_test_.cc | 0 .../test/gmock_output_test_golden.txt | 0 .../gmock-1.7.0/test/gmock_stress_test.cc | 0 .../Tools}/gmock-1.7.0/test/gmock_test.cc | 0 .../gmock-1.7.0/test/gmock_test_utils.py | 0 .../Tools}/pyunit_gen/pyunit_gen.py | 0 .../Tools}/unittest-xml-reporting/LICENSE | 0 .../Tools}/unittest-xml-reporting/MANIFEST.in | 0 .../Tools}/unittest-xml-reporting/README.rst | 0 .../Tools}/unittest-xml-reporting/fabfile.py | 0 .../Tools}/unittest-xml-reporting/setup.py | 0 .../src/xmlrunner/__init__.py | 0 .../src/xmlrunner/extra/__init__.py | 0 .../src/xmlrunner/extra/djangotestrunner.py | 0 .../src/xmlrunner/tests/__init__.py | 0 .../tests/fixtures/errord_test_case.xml | 0 .../tests/fixtures/failed_test_case.xml | 0 .../tests/fixtures/mixed_test_case.xml | 0 .../tests/fixtures/successful_test_case.xml | 0 .../src/xmlrunner/tests/testsuite.py | 0 .../src/xmlrunner/tests/testsuite_cases.py | 0 Code/Mantid/Vates/VatesAPI/test/runTests.sh | 55 ------------------ 845 files changed, 12 insertions(+), 69 deletions(-) rename Code/Mantid/{TestingTools => Testing/Tools}/CMakeLists.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/COPYING (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/TODO (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/Versions (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/AUTHORS (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/cxxtest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/default_env/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/default_env/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/default_env/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/empty_source_list/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/empty_source_list/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/empty_source_list/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/empty_source_list/requirement.hpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/empty_source_list/test_bar.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/empty_source_list/test_foo.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/eprouvette.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/expanding_#/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/expanding_#/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/expanding_#/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing/src/requirement.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing/src/requirement.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing/src/test_bar.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing/src/test_foo.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing_edmundo/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing_edmundo/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing_edmundo/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.hh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing_edmundo/hellotest.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/globbing_edmundo/main.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CCFLAGS/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CCFLAGS/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CCFLAGS/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/not-with-pedantic.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/only_with_ansi.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CXXFLAGS/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CXXFLAGS/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CXXFLAGS/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/include_CXXFLAGS/src/not-with-pedantic.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/multifile_tests/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/multifile_tests/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/multifile_tests/src/test_bar.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/multifile_tests/src/test_foo.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/need_cpppath/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/need_cpppath/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppath.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppathdir/include.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/printer_propagation/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/printer_propagation/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/printer_propagation/cxxtest/CrazyRunner.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/printer_propagation/src/failtest.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/recursive_sources/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/recursive_sources/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/recursive_sources/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/recursive_sources/src/test_bar.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/recursive_sources/src/test_foo.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/string_cpppath/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/string_cpppath/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppath.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppathdir/include.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/target_syntax/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/target_syntax/TestDef.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/target_syntax/src/cpppath.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/build_tools/SCons/test/target_syntax/src/cpppathdir/include.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest.spec (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/Descriptions.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/Descriptions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/DummyDescriptions.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/DummyDescriptions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/ErrorFormatter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/ErrorPrinter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/Flags.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/GlobalFixture.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/GlobalFixture.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/Gui.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/LinkedList.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/LinkedList.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/MantidFormatter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/MantidPrinter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/Mock.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/ParenPrinter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/QtGui.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/RealDescriptions.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/RealDescriptions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/Root.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/SelfTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/StdHeaders.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/StdTestSuite.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/StdValueTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/StdioFilePrinter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/StdioPrinter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TeeListener.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TestListener.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TestMain.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TestRunner.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TestSuite.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TestSuite.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TestTracker.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/TestTracker.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/ValueTraits.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/ValueTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/Win32Gui.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/WrappedTestSuite.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/X11Gui.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/XUnitPrinter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/XmlFormatter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/XmlPrinter.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/cxxtest/YesNoRunner.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/.cvsignore (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/Makefile (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/convert.pl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/guide.texi (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/qt.png (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/qt2.png (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/texinfo.tex (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/win32.png (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/docs/x11.png (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/get_revision_from_cvs.pl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/README.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/cxxtest/__init__.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/cxxtest/__release__.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/cxxtest/cxxtest_misc.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/cxxtest/cxxtest_parser.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/cxxtest/cxxtestgen.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/ez_setup.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/scripts/cxxtestgen (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/python/setup.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/.cvsignore (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/Construct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/CreatedTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/DeltaTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/EnumTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/ExceptionTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/FixtureTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/Makefile.PL (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/Makefile.bcc32 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/Makefile.msvc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/Makefile.unix (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/MessageTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/SCons/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/SCons/include/stack.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/SCons/src/stack.c (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/SCons/tests/stack_test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/SimpleTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/TraitsTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/aborter.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/file_printer.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/gui/GreenYellowRed.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/Dice.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/Dice.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/Makefile (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/MockStdlib.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/T/stdlib.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/TestDice.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/mock_stdlib.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/real_stdlib.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/mock/roll.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/msvc/CxxTest_1_Run.dsp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/msvc/CxxTest_2_Build.dsp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/msvc/CxxTest_3_Generate.dsp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/msvc/CxxTest_Workspace.dsw (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/msvc/FixFiles.bat (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/msvc/Makefile (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/msvc/ReadMe.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/only.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/parts/.cvsignore (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/parts/Makefile.unix (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/winddk/Makefile (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/winddk/Makefile.inc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/winddk/RunTests.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/winddk/SOURCES (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/sample/yes_no_runner.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/.cvsignore (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/AborterNoThrow.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/BadTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Comments.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/DeepAbort.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/DefaultAbort.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/DefaultTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/DoubleCall.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/DynamicAbort.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/DynamicMax.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/EmptySuite.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Exceptions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Factor.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/ForceNoEh.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/GfSetUpFails.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/GfSetUpThrows.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/GfTearDownFails.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/GfTearDownThrows.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/GlobalFixtures.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/GoodSuite.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/GuiWait.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/HaveStd.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/IncludeTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Int64.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/LessThanEquals.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/LongLong.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/LongTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Makefile (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/MaxDump.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/MockTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/NoEh.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Part1.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Part2.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Relation.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/SameData.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/SameZero.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/SetUpWorldFails.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/SetUpWorldThrows.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Something.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/StlTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/TearDownWorldFails.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/TearDownWorldThrows.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/ThrowNoStd.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/ThrowNoStd.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/ThrowsAssert.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/TraitsTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/Tsm.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/UserTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/UserTraits.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/VoidTraits.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/WideCharTest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/WorldFixtures.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/abort.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/activate.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/anything.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/comments.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/cxxtest/DummyGui.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/default_abort.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/eh_normals.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/error.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/factor.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/.cvsignore (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/X11/Xlib.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/X11/Xutil.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/commctrl.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qapplication.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qglobal.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qlabel.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qlayout.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qmessagebox.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qpixmap.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qprogressbar.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qstatusbar.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qstring.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/qwidget.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/fake/windows.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/gfsuf.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/gfsut.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/gftdf.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/gftdt.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/gfxs.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/good.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/gui.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/gui_paren.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/include.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/int64.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/int64.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/longlong.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/longlong.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/main.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/max.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/normal.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/paren.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/parts.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/preamble.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/preamble.tpl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/runner.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/std.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/stl.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/stpltpl.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/suite.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/suite_test.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/suwf.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/suwt.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/tdwf.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/tdwt.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/test.pl (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/throw.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/tpltpl.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/unit/LinkedList_test.t.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/unit/SConstruct (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/user.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/wchar.cpp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/wchar.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/test/wildcard.out (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/www/cn-project-pages/snippets/HtmlSnippet1.html (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/cxxtest/www/cn-project-pages/snippets/page.xml (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/generatetestmain.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/CHANGES (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/CMakeLists.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/CONTRIBUTORS (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/COPYING (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/Makefile.am (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/Makefile.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/aclocal.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/build-aux/config.guess (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/build-aux/config.h.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/build-aux/config.sub (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/build-aux/depcomp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/build-aux/install-sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/build-aux/ltmain.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/build-aux/missing (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/configure (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/configure.ac (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/fused-src/gmock-gtest-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/fused-src/gmock/gmock.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/fused-src/gmock_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/fused-src/gtest/gtest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/CHANGES (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/CMakeLists.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/CONTRIBUTORS (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/COPYING (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/Makefile.am (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/Makefile.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/aclocal.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/build-aux/config.guess (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/build-aux/config.h.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/build-aux/config.sub (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/build-aux/depcomp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/build-aux/install-sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/build-aux/ltmain.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/build-aux/missing (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/cmake/internal_utils.cmake (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/codegear/gtest.cbproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/codegear/gtest.groupproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/codegear/gtest_all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/codegear/gtest_link.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/codegear/gtest_main.cbproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/codegear/gtest_unittest.cbproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/configure (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/configure.ac (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/fused-src/gtest/gtest-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/fused-src/gtest/gtest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/fused-src/gtest/gtest_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-death-test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-message.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-printers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-spi.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-test-part.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest-typed-test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest_pred_impl.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/gtest_prod.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-death-test-internal.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-filepath.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-internal.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-linked_ptr.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-port.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-string.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/m4/acx_pthread.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/m4/gtest.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/m4/libtool.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/m4/ltoptions.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/m4/ltsugar.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/m4/ltversion.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/m4/lt~obsolete.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest-md.sln (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest-md.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest.sln (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest_main-md.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest_main.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest_prod_test-md.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest_prod_test.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest_unittest-md.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/msvc/gtest_unittest.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/prime_tables.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample1.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample1.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample10_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample1_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample2.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample2.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample2_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample3-inl.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample3_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample4.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample4.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample4_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample5_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample6_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample7_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample8_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/samples/sample9_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/scripts/fuse_gtest_files.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/scripts/gen_gtest_pred_impl.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/scripts/gtest-config.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/scripts/pump.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-death-test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-filepath.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-internal-inl.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-port.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-printers.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-test-part.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest-typed-test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/src/gtest_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-death-test_ex_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-death-test_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-filepath_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-linked_ptr_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-listener_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-message_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-options_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-param-test2_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-param-test_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-param-test_test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-port_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-printers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-test-part_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-tuple_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-typed-test2_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-typed-test_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-typed-test_test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest-unittest-api_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_all_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_color_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_color_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_env_var_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_env_var_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_environment_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_filter_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_filter_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_help_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_help_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_list_tests_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_list_tests_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_main_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_no_test_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_output_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_output_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_output_test_golden_lin.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_pred_impl_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_prod_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_repeat_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_shuffle_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_shuffle_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_sole_header_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_stress_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_test_utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_throw_on_failure_ex_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_uninitialized_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_uninitialized_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_xml_outfile1_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_xml_outfile2_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_xml_outfiles_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_xml_output_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_xml_output_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/gtest_xml_test_utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/production.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/test/production.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Config/DebugProject.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Config/FrameworkTarget.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Config/General.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Config/ReleaseProject.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Config/TestTarget.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Resources/Info.plist (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/Info.plist (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/runtests.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Scripts/runtests.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/Scripts/versiongenerate.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/gtest/xcode/gtest.xcodeproj/project.pbxproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-actions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-cardinalities.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-actions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-actions.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-matchers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-matchers.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-matchers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-more-actions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock-spec-builders.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/gmock.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/internal/gmock-internal-utils.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/include/gmock/internal/gmock-port.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2005/gmock.sln (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2005/gmock.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2005/gmock_config.vsprops (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2005/gmock_main.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2005/gmock_test.vcproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2010/gmock.sln (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2010/gmock.vcxproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2010/gmock_config.props (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2010/gmock_main.vcxproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/msvc/2010/gmock_test.vcxproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/fuse_gmock_files.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/COPYING (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/README.cppclean (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/cpp/__init__.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/cpp/ast.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/cpp/gmock_class.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/cpp/keywords.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/cpp/tokenize.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/cpp/utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/generator/gmock_gen.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/scripts/gmock-config.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/src/gmock-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/src/gmock-cardinalities.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/src/gmock-internal-utils.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/src/gmock-matchers.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/src/gmock-spec-builders.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/src/gmock.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/src/gmock_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-actions_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-cardinalities_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-generated-actions_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-generated-function-mockers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-generated-internal-utils_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-generated-matchers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-internal-utils_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-matchers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-more-actions_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-nice-strict_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-port_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock-spec-builders_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_all_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_leak_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_leak_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_link2_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_link_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_link_test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_output_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_output_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_output_test_golden.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.6.0/test/gmock_test_utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/CHANGES (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/CMakeLists.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/CONTRIBUTORS (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/LICENSE (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/Makefile.am (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/Makefile.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/aclocal.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/build-aux/config.guess (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/build-aux/config.h.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/build-aux/config.sub (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/build-aux/depcomp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/build-aux/install-sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/build-aux/ltmain.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/build-aux/missing (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/configure (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/configure.ac (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/fused-src/gmock-gtest-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/fused-src/gmock/gmock.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/fused-src/gmock_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/fused-src/gtest/gtest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/CHANGES (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/CMakeLists.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/CONTRIBUTORS (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/LICENSE (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/Makefile.am (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/Makefile.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/aclocal.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/build-aux/config.guess (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/build-aux/config.h.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/build-aux/config.sub (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/build-aux/depcomp (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/build-aux/install-sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/build-aux/ltmain.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/build-aux/missing (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/cmake/internal_utils.cmake (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/codegear/gtest.cbproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/codegear/gtest.groupproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/codegear/gtest_all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/codegear/gtest_link.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/codegear/gtest_main.cbproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/codegear/gtest_unittest.cbproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/configure (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/configure.ac (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/fused-src/gtest/gtest-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/fused-src/gtest/gtest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/fused-src/gtest/gtest_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-death-test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-message.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-printers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-spi.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-test-part.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest-typed-test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest_pred_impl.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/gtest_prod.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-death-test-internal.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-filepath.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-internal.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-linked_ptr.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-port.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-string.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/m4/acx_pthread.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/m4/gtest.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/m4/libtool.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/m4/ltoptions.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/m4/ltsugar.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/m4/ltversion.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/m4/lt~obsolete.m4 (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/prime_tables.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample1.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample1.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample10_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample1_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample2.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample2.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample2_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample3-inl.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample3_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample4.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample4.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample4_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample5_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample6_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample7_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample8_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/samples/sample9_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/scripts/fuse_gtest_files.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/scripts/gen_gtest_pred_impl.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/scripts/gtest-config.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/scripts/pump.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-death-test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-filepath.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-internal-inl.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-port.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-printers.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-test-part.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest-typed-test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/src/gtest_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-death-test_ex_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-death-test_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-filepath_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-linked_ptr_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-listener_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-message_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-options_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-param-test2_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-param-test_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-param-test_test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-port_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-printers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-test-part_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-tuple_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-typed-test2_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-typed-test_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-typed-test_test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest-unittest-api_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_all_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_color_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_color_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_env_var_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_env_var_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_environment_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_filter_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_filter_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_help_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_help_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_list_tests_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_list_tests_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_main_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_no_test_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_output_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_output_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_output_test_golden_lin.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_pred_impl_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_premature_exit_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_prod_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_repeat_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_shuffle_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_shuffle_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_sole_header_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_stress_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_test_utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_throw_on_failure_ex_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_uninitialized_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_uninitialized_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_unittest.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_xml_outfile1_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_xml_outfile2_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_xml_outfiles_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_xml_output_unittest.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_xml_output_unittest_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/gtest_xml_test_utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/production.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/test/production.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Config/DebugProject.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Config/FrameworkTarget.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Config/General.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Config/ReleaseProject.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Config/TestTarget.xcconfig (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Resources/Info.plist (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/Info.plist (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/runtests.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Scripts/runtests.sh (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/Scripts/versiongenerate.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/gtest/xcode/gtest.xcodeproj/project.pbxproj (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-actions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-cardinalities.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-actions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-actions.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-matchers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-matchers.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-matchers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-more-actions.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-more-matchers.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock-spec-builders.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/gmock.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h.pump (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/internal/gmock-internal-utils.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/include/gmock/internal/gmock-port.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/msvc/2005/gmock_config.vsprops (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/msvc/2010/gmock_config.props (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/fuse_gmock_files.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/LICENSE (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/README (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/README.cppclean (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/cpp/__init__.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/cpp/ast.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/cpp/gmock_class.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/cpp/keywords.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/cpp/tokenize.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/cpp/utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/generator/gmock_gen.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/scripts/gmock-config.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/src/gmock-all.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/src/gmock-cardinalities.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/src/gmock-internal-utils.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/src/gmock-matchers.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/src/gmock-spec-builders.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/src/gmock.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/src/gmock_main.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-actions_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-cardinalities_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-generated-actions_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-generated-function-mockers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-generated-internal-utils_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-generated-matchers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-internal-utils_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-matchers_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-more-actions_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-nice-strict_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-port_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock-spec-builders_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_all_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_ex_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_leak_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_leak_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_link2_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_link_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_link_test.h (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_output_test.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_output_test_.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_output_test_golden.txt (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_stress_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_test.cc (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/gmock-1.7.0/test/gmock_test_utils.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/pyunit_gen/pyunit_gen.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/LICENSE (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/MANIFEST.in (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/README.rst (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/fabfile.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/setup.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/__init__.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/extra/__init__.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/extra/djangotestrunner.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/tests/__init__.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/tests/fixtures/errord_test_case.xml (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/tests/fixtures/failed_test_case.xml (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/tests/fixtures/mixed_test_case.xml (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/tests/fixtures/successful_test_case.xml (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/tests/testsuite.py (100%) rename Code/Mantid/{TestingTools => Testing/Tools}/unittest-xml-reporting/src/xmlrunner/tests/testsuite_cases.py (100%) delete mode 100755 Code/Mantid/Vates/VatesAPI/test/runTests.sh diff --git a/Code/Mantid/Build/CMake/EmbeddedGTest.cmake b/Code/Mantid/Build/CMake/EmbeddedGTest.cmake index 25e55227cd58..545837105cc1 100644 --- a/Code/Mantid/Build/CMake/EmbeddedGTest.cmake +++ b/Code/Mantid/Build/CMake/EmbeddedGTest.cmake @@ -3,8 +3,8 @@ # GTEST_FOUND If false, do not try to use Google Test find_path ( GTEST_INCLUDE_DIR gtest/gtest.h - PATHS ${PROJECT_SOURCE_DIR}/TestingTools/gmock-${GMOCK_VERSION}/gtest/include - ${PROJECT_SOURCE_DIR}/../TestingTools/gmock-${GMOCK_VERSION}/gtest/include + PATHS ${PROJECT_SOURCE_DIR}/Testing/Tools/gmock-${GMOCK_VERSION}/gtest/include + ${PROJECT_SOURCE_DIR}/../Testing/Tools/gmock-${GMOCK_VERSION}/gtest/include NO_DEFAULT_PATH ) # handle the QUIETLY and REQUIRED arguments and set GTEST_FOUND to TRUE if diff --git a/Code/Mantid/Build/CMake/FindCxxTest.cmake b/Code/Mantid/Build/CMake/FindCxxTest.cmake index cc9a5cb40c3b..8aaeadbb37fd 100644 --- a/Code/Mantid/Build/CMake/FindCxxTest.cmake +++ b/Code/Mantid/Build/CMake/FindCxxTest.cmake @@ -194,8 +194,8 @@ endmacro(CXXTEST_ADD_TEST) #============================================================= find_path(CXXTEST_INCLUDE_DIR cxxtest/TestSuite.h - PATHS ${PROJECT_SOURCE_DIR}/TestingTools/cxxtest - ${PROJECT_SOURCE_DIR}/../TestingTools/cxxtest ) + PATHS ${PROJECT_SOURCE_DIR}/Testing/Tools/cxxtest + ${PROJECT_SOURCE_DIR}/../Testing/Tools/cxxtest ) find_program(CXXTEST_TESTGEN_EXECUTABLE python/scripts/cxxtestgen PATHS ${CXXTEST_INCLUDE_DIR}) diff --git a/Code/Mantid/Build/CMake/FindGMock.cmake b/Code/Mantid/Build/CMake/FindGMock.cmake index e540e5a18af2..a611ce2fb73d 100644 --- a/Code/Mantid/Build/CMake/FindGMock.cmake +++ b/Code/Mantid/Build/CMake/FindGMock.cmake @@ -17,8 +17,8 @@ ENDIF() set (GMOCK_VERSION ${GMOCK_VERSION} CACHE INTERNAL "") find_path ( GMOCK_INCLUDE_DIR gmock/gmock.h - PATHS ${PROJECT_SOURCE_DIR}/TestingTools/gmock-${GMOCK_VERSION}/include - ${PROJECT_SOURCE_DIR}/../TestingTools/gmock-${GMOCK_VERSION}/include + PATHS ${PROJECT_SOURCE_DIR}/Testing/Tools/gmock-${GMOCK_VERSION}/include + ${PROJECT_SOURCE_DIR}/../Testing/Tools/gmock-${GMOCK_VERSION}/include NO_DEFAULT_PATH ) SET(GMOCK_LIB gmock) diff --git a/Code/Mantid/Build/CMake/FindPyUnitTest.cmake b/Code/Mantid/Build/CMake/FindPyUnitTest.cmake index 893cb5b392a5..bd6c3661633b 100644 --- a/Code/Mantid/Build/CMake/FindPyUnitTest.cmake +++ b/Code/Mantid/Build/CMake/FindPyUnitTest.cmake @@ -59,13 +59,13 @@ endmacro ( PYUNITTEST_ADD_TEST ) # find the driver script find_program ( PYUNITTEST_GEN_EXEC pyunit_gen.py - PATHS ${PROJECT_SOURCE_DIR}/TestingTools/pyunit_gen - ${PROJECT_SOURCE_DIR}/../TestingTools/pyunit_gen ) + PATHS ${PROJECT_SOURCE_DIR}/Testing/Tools/pyunit_gen + ${PROJECT_SOURCE_DIR}/../Testing/Tools/pyunit_gen ) # determine where the xmlrunner lives find_path ( PYUNITTEST_XMLRUNNER xmlrunner/__init__.py - PATHS ${PROJECT_SOURCE_DIR}/TestingTools/unittest-xml-reporting/src/ - ${PROJECT_SOURCE_DIR}/../TestingTools/unittest-xml-reporting/src/ ) + PATHS ${PROJECT_SOURCE_DIR}/Testing/Tools/unittest-xml-reporting/src/ + ${PROJECT_SOURCE_DIR}/../Testing/Tools/unittest-xml-reporting/src/ ) # let people know whether or not it was found if (PYUNITTEST_GEN_EXEC) diff --git a/Code/Mantid/Framework/CMakeLists.txt b/Code/Mantid/Framework/CMakeLists.txt index 03c5ab5792d2..78e6fd797eaa 100644 --- a/Code/Mantid/Framework/CMakeLists.txt +++ b/Code/Mantid/Framework/CMakeLists.txt @@ -121,9 +121,7 @@ endif () # Unit test helper packages if ( CXXTEST_FOUND ) add_subdirectory ( UserAlgorithms ) - # This needs to be here so that a Framework-only build will work. -# add_subdirectory ( ../TestingTools ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/TestingTools/gmock-${GMOCK_VERSION} ) - add_subdirectory ( ../TestingTools ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/TestingTools ) + add_subdirectory ( ../Testing/Tools ${${CMAKE_PROJECT_NAME}_BINARY_DIR}/Testing/Tools ) endif () add_subdirectory (MDAlgorithms) diff --git a/Code/Mantid/MantidPlot/test/mantidplottests.py b/Code/Mantid/MantidPlot/test/mantidplottests.py index 39d59919da8f..f5b14b0c5dba 100644 --- a/Code/Mantid/MantidPlot/test/mantidplottests.py +++ b/Code/Mantid/MantidPlot/test/mantidplottests.py @@ -46,7 +46,7 @@ def runTests(classname): if src is None: runner = unittest.TextTestRunner() else: - sys.path.append( os.path.join(src, "TestingTools/unittest-xml-reporting/src") ) + sys.path.append( os.path.join(src, "Testing", "Tools", "unittest-xml-reporting", "src") ) import xmlrunner runner = xmlrunner.XMLTestRunner(output='Testing') diff --git a/Code/Mantid/TestingTools/CMakeLists.txt b/Code/Mantid/Testing/Tools/CMakeLists.txt similarity index 100% rename from Code/Mantid/TestingTools/CMakeLists.txt rename to Code/Mantid/Testing/Tools/CMakeLists.txt diff --git a/Code/Mantid/TestingTools/cxxtest/COPYING b/Code/Mantid/Testing/Tools/cxxtest/COPYING similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/COPYING rename to Code/Mantid/Testing/Tools/cxxtest/COPYING diff --git a/Code/Mantid/TestingTools/cxxtest/README b/Code/Mantid/Testing/Tools/cxxtest/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/README rename to Code/Mantid/Testing/Tools/cxxtest/README diff --git a/Code/Mantid/TestingTools/cxxtest/TODO b/Code/Mantid/Testing/Tools/cxxtest/TODO similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/TODO rename to Code/Mantid/Testing/Tools/cxxtest/TODO diff --git a/Code/Mantid/TestingTools/cxxtest/Versions b/Code/Mantid/Testing/Tools/cxxtest/Versions similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/Versions rename to Code/Mantid/Testing/Tools/cxxtest/Versions diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/AUTHORS b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/AUTHORS similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/AUTHORS rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/AUTHORS diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/cxxtest.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/cxxtest.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/cxxtest.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/cxxtest.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/default_env/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/default_env/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/default_env/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/default_env/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/default_env/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/default_env/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/default_env/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/default_env/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/default_env/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/default_env/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/default_env/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/default_env/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/requirement.hpp b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/requirement.hpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/requirement.hpp rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/requirement.hpp diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/test_bar.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/test_bar.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/test_bar.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/test_bar.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/test_foo.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/test_foo.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/empty_source_list/test_foo.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/empty_source_list/test_foo.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/eprouvette.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/eprouvette.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/eprouvette.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/eprouvette.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/expanding_#/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/expanding_#/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/expanding_#/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/expanding_#/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/expanding_#/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/expanding_#/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/expanding_#/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/expanding_#/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/expanding_#/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/expanding_#/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/expanding_#/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/expanding_#/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/requirement.cpp b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/requirement.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/requirement.cpp rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/requirement.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/requirement.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/requirement.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/requirement.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/requirement.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/test_bar.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/test_bar.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/test_bar.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/test_bar.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/test_foo.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/test_foo.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing/src/test_foo.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing/src/test_foo.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.cc b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.cc similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.cc rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.cc diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.hh b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.hh similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.hh rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/hello.hh diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/hellotest.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/hellotest.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/hellotest.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/hellotest.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/main.cpp b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/main.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/globbing_edmundo/main.cpp rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/globbing_edmundo/main.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/not-with-pedantic.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/not-with-pedantic.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/not-with-pedantic.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/not-with-pedantic.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/only_with_ansi.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/only_with_ansi.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/only_with_ansi.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CCFLAGS/src/only_with_ansi.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/src/not-with-pedantic.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/src/not-with-pedantic.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/src/not-with-pedantic.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/include_CXXFLAGS/src/not-with-pedantic.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.cpp b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.cpp rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/requirement.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_bar.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_bar.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_bar.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_bar.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_foo.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_foo.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_foo.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/multifile_tests/src/test_foo.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppath.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppath.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppath.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppath.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppathdir/include.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppathdir/include.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppathdir/include.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/need_cpppath/src/cpppathdir/include.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/nonstandard_cxxtest_dir/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/cxxtest/CrazyRunner.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/cxxtest/CrazyRunner.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/cxxtest/CrazyRunner.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/cxxtest/CrazyRunner.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/src/failtest.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/src/failtest.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/printer_propagation/src/failtest.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/printer_propagation/src/failtest.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/README b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/README similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/README rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/README diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.cpp b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.cpp rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/requirement.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_bar.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_bar.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_bar.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_bar.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_foo.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_foo.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_foo.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/recursive_sources/src/test_foo.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppath.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppath.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppath.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppath.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppathdir/include.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppathdir/include.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppathdir/include.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/string_cpppath/src/cpppathdir/include.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/TestDef.py b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/TestDef.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/TestDef.py rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/TestDef.py diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppath.t.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppath.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppath.t.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppath.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppathdir/include.h b/Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppathdir/include.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppathdir/include.h rename to Code/Mantid/Testing/Tools/cxxtest/build_tools/SCons/test/target_syntax/src/cpppathdir/include.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest.spec b/Code/Mantid/Testing/Tools/cxxtest/cxxtest.spec similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest.spec rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest.spec diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/Descriptions.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/Descriptions.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/Descriptions.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/Descriptions.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/Descriptions.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/Descriptions.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/Descriptions.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/Descriptions.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/DummyDescriptions.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/DummyDescriptions.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/DummyDescriptions.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/DummyDescriptions.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/DummyDescriptions.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/DummyDescriptions.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/DummyDescriptions.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/DummyDescriptions.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/ErrorFormatter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/ErrorFormatter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/ErrorFormatter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/ErrorFormatter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/ErrorPrinter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/ErrorPrinter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/ErrorPrinter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/ErrorPrinter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/Flags.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/Flags.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/Flags.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/Flags.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/GlobalFixture.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/GlobalFixture.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/GlobalFixture.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/GlobalFixture.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/GlobalFixture.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/GlobalFixture.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/GlobalFixture.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/GlobalFixture.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/Gui.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/Gui.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/Gui.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/Gui.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/LinkedList.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/LinkedList.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/LinkedList.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/LinkedList.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/LinkedList.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/LinkedList.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/LinkedList.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/LinkedList.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/MantidFormatter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/MantidFormatter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/MantidFormatter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/MantidFormatter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/MantidPrinter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/MantidPrinter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/MantidPrinter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/MantidPrinter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/Mock.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/Mock.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/Mock.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/Mock.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/ParenPrinter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/ParenPrinter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/ParenPrinter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/ParenPrinter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/QtGui.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/QtGui.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/QtGui.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/QtGui.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/RealDescriptions.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/RealDescriptions.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/RealDescriptions.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/RealDescriptions.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/RealDescriptions.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/RealDescriptions.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/RealDescriptions.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/RealDescriptions.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/Root.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/Root.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/Root.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/Root.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/SelfTest.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/SelfTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/SelfTest.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/SelfTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/StdHeaders.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdHeaders.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/StdHeaders.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdHeaders.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/StdTestSuite.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdTestSuite.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/StdTestSuite.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdTestSuite.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/StdValueTraits.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdValueTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/StdValueTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdValueTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/StdioFilePrinter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdioFilePrinter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/StdioFilePrinter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdioFilePrinter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/StdioPrinter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdioPrinter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/StdioPrinter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/StdioPrinter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TeeListener.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TeeListener.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TeeListener.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TeeListener.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TestListener.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestListener.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TestListener.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestListener.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TestMain.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestMain.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TestMain.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestMain.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TestRunner.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestRunner.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TestRunner.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestRunner.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TestSuite.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestSuite.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TestSuite.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestSuite.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TestSuite.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestSuite.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TestSuite.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestSuite.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TestTracker.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestTracker.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TestTracker.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestTracker.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/TestTracker.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestTracker.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/TestTracker.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/TestTracker.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/ValueTraits.cpp b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/ValueTraits.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/ValueTraits.cpp rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/ValueTraits.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/ValueTraits.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/ValueTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/ValueTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/ValueTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/Win32Gui.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/Win32Gui.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/Win32Gui.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/Win32Gui.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/WrappedTestSuite.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/WrappedTestSuite.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/WrappedTestSuite.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/WrappedTestSuite.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/X11Gui.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/X11Gui.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/X11Gui.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/X11Gui.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/XUnitPrinter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/XUnitPrinter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/XUnitPrinter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/XUnitPrinter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/XmlFormatter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/XmlFormatter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/XmlFormatter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/XmlFormatter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/XmlPrinter.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/XmlPrinter.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/XmlPrinter.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/XmlPrinter.h diff --git a/Code/Mantid/TestingTools/cxxtest/cxxtest/YesNoRunner.h b/Code/Mantid/Testing/Tools/cxxtest/cxxtest/YesNoRunner.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/cxxtest/YesNoRunner.h rename to Code/Mantid/Testing/Tools/cxxtest/cxxtest/YesNoRunner.h diff --git a/Code/Mantid/TestingTools/cxxtest/docs/.cvsignore b/Code/Mantid/Testing/Tools/cxxtest/docs/.cvsignore similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/.cvsignore rename to Code/Mantid/Testing/Tools/cxxtest/docs/.cvsignore diff --git a/Code/Mantid/TestingTools/cxxtest/docs/Makefile b/Code/Mantid/Testing/Tools/cxxtest/docs/Makefile similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/Makefile rename to Code/Mantid/Testing/Tools/cxxtest/docs/Makefile diff --git a/Code/Mantid/TestingTools/cxxtest/docs/convert.pl b/Code/Mantid/Testing/Tools/cxxtest/docs/convert.pl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/convert.pl rename to Code/Mantid/Testing/Tools/cxxtest/docs/convert.pl diff --git a/Code/Mantid/TestingTools/cxxtest/docs/guide.texi b/Code/Mantid/Testing/Tools/cxxtest/docs/guide.texi similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/guide.texi rename to Code/Mantid/Testing/Tools/cxxtest/docs/guide.texi diff --git a/Code/Mantid/TestingTools/cxxtest/docs/qt.png b/Code/Mantid/Testing/Tools/cxxtest/docs/qt.png similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/qt.png rename to Code/Mantid/Testing/Tools/cxxtest/docs/qt.png diff --git a/Code/Mantid/TestingTools/cxxtest/docs/qt2.png b/Code/Mantid/Testing/Tools/cxxtest/docs/qt2.png similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/qt2.png rename to Code/Mantid/Testing/Tools/cxxtest/docs/qt2.png diff --git a/Code/Mantid/TestingTools/cxxtest/docs/texinfo.tex b/Code/Mantid/Testing/Tools/cxxtest/docs/texinfo.tex similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/texinfo.tex rename to Code/Mantid/Testing/Tools/cxxtest/docs/texinfo.tex diff --git a/Code/Mantid/TestingTools/cxxtest/docs/win32.png b/Code/Mantid/Testing/Tools/cxxtest/docs/win32.png similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/win32.png rename to Code/Mantid/Testing/Tools/cxxtest/docs/win32.png diff --git a/Code/Mantid/TestingTools/cxxtest/docs/x11.png b/Code/Mantid/Testing/Tools/cxxtest/docs/x11.png similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/docs/x11.png rename to Code/Mantid/Testing/Tools/cxxtest/docs/x11.png diff --git a/Code/Mantid/TestingTools/cxxtest/get_revision_from_cvs.pl b/Code/Mantid/Testing/Tools/cxxtest/get_revision_from_cvs.pl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/get_revision_from_cvs.pl rename to Code/Mantid/Testing/Tools/cxxtest/get_revision_from_cvs.pl diff --git a/Code/Mantid/TestingTools/cxxtest/python/README.txt b/Code/Mantid/Testing/Tools/cxxtest/python/README.txt similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/README.txt rename to Code/Mantid/Testing/Tools/cxxtest/python/README.txt diff --git a/Code/Mantid/TestingTools/cxxtest/python/cxxtest/__init__.py b/Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/__init__.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/cxxtest/__init__.py rename to Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/__init__.py diff --git a/Code/Mantid/TestingTools/cxxtest/python/cxxtest/__release__.py b/Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/__release__.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/cxxtest/__release__.py rename to Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/__release__.py diff --git a/Code/Mantid/TestingTools/cxxtest/python/cxxtest/cxxtest_misc.py b/Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/cxxtest_misc.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/cxxtest/cxxtest_misc.py rename to Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/cxxtest_misc.py diff --git a/Code/Mantid/TestingTools/cxxtest/python/cxxtest/cxxtest_parser.py b/Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/cxxtest_parser.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/cxxtest/cxxtest_parser.py rename to Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/cxxtest_parser.py diff --git a/Code/Mantid/TestingTools/cxxtest/python/cxxtest/cxxtestgen.py b/Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/cxxtestgen.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/cxxtest/cxxtestgen.py rename to Code/Mantid/Testing/Tools/cxxtest/python/cxxtest/cxxtestgen.py diff --git a/Code/Mantid/TestingTools/cxxtest/python/ez_setup.py b/Code/Mantid/Testing/Tools/cxxtest/python/ez_setup.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/ez_setup.py rename to Code/Mantid/Testing/Tools/cxxtest/python/ez_setup.py diff --git a/Code/Mantid/TestingTools/cxxtest/python/scripts/cxxtestgen b/Code/Mantid/Testing/Tools/cxxtest/python/scripts/cxxtestgen similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/scripts/cxxtestgen rename to Code/Mantid/Testing/Tools/cxxtest/python/scripts/cxxtestgen diff --git a/Code/Mantid/TestingTools/cxxtest/python/setup.py b/Code/Mantid/Testing/Tools/cxxtest/python/setup.py similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/python/setup.py rename to Code/Mantid/Testing/Tools/cxxtest/python/setup.py diff --git a/Code/Mantid/TestingTools/cxxtest/sample/.cvsignore b/Code/Mantid/Testing/Tools/cxxtest/sample/.cvsignore similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/.cvsignore rename to Code/Mantid/Testing/Tools/cxxtest/sample/.cvsignore diff --git a/Code/Mantid/TestingTools/cxxtest/sample/Construct b/Code/Mantid/Testing/Tools/cxxtest/sample/Construct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/Construct rename to Code/Mantid/Testing/Tools/cxxtest/sample/Construct diff --git a/Code/Mantid/TestingTools/cxxtest/sample/CreatedTest.h b/Code/Mantid/Testing/Tools/cxxtest/sample/CreatedTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/CreatedTest.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/CreatedTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/DeltaTest.h b/Code/Mantid/Testing/Tools/cxxtest/sample/DeltaTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/DeltaTest.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/DeltaTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/EnumTraits.h b/Code/Mantid/Testing/Tools/cxxtest/sample/EnumTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/EnumTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/EnumTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/ExceptionTest.h b/Code/Mantid/Testing/Tools/cxxtest/sample/ExceptionTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/ExceptionTest.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/ExceptionTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/FixtureTest.h b/Code/Mantid/Testing/Tools/cxxtest/sample/FixtureTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/FixtureTest.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/FixtureTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/Makefile.PL b/Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.PL similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/Makefile.PL rename to Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.PL diff --git a/Code/Mantid/TestingTools/cxxtest/sample/Makefile.bcc32 b/Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.bcc32 similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/Makefile.bcc32 rename to Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.bcc32 diff --git a/Code/Mantid/TestingTools/cxxtest/sample/Makefile.msvc b/Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.msvc similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/Makefile.msvc rename to Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.msvc diff --git a/Code/Mantid/TestingTools/cxxtest/sample/Makefile.unix b/Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.unix similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/Makefile.unix rename to Code/Mantid/Testing/Tools/cxxtest/sample/Makefile.unix diff --git a/Code/Mantid/TestingTools/cxxtest/sample/MessageTest.h b/Code/Mantid/Testing/Tools/cxxtest/sample/MessageTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/MessageTest.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/MessageTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/SCons/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/sample/SCons/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/SCons/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/sample/SCons/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/sample/SCons/include/stack.h b/Code/Mantid/Testing/Tools/cxxtest/sample/SCons/include/stack.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/SCons/include/stack.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/SCons/include/stack.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/SCons/src/stack.c b/Code/Mantid/Testing/Tools/cxxtest/sample/SCons/src/stack.c similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/SCons/src/stack.c rename to Code/Mantid/Testing/Tools/cxxtest/sample/SCons/src/stack.c diff --git a/Code/Mantid/TestingTools/cxxtest/sample/SCons/tests/stack_test.h b/Code/Mantid/Testing/Tools/cxxtest/sample/SCons/tests/stack_test.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/SCons/tests/stack_test.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/SCons/tests/stack_test.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/SimpleTest.h b/Code/Mantid/Testing/Tools/cxxtest/sample/SimpleTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/SimpleTest.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/SimpleTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/TraitsTest.h b/Code/Mantid/Testing/Tools/cxxtest/sample/TraitsTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/TraitsTest.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/TraitsTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/aborter.tpl b/Code/Mantid/Testing/Tools/cxxtest/sample/aborter.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/aborter.tpl rename to Code/Mantid/Testing/Tools/cxxtest/sample/aborter.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/sample/file_printer.tpl b/Code/Mantid/Testing/Tools/cxxtest/sample/file_printer.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/file_printer.tpl rename to Code/Mantid/Testing/Tools/cxxtest/sample/file_printer.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/sample/gui/GreenYellowRed.h b/Code/Mantid/Testing/Tools/cxxtest/sample/gui/GreenYellowRed.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/gui/GreenYellowRed.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/gui/GreenYellowRed.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/Dice.cpp b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/Dice.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/Dice.cpp rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/Dice.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/Dice.h b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/Dice.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/Dice.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/Dice.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/Makefile b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/Makefile similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/Makefile rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/Makefile diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/MockStdlib.h b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/MockStdlib.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/MockStdlib.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/MockStdlib.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/T/stdlib.h b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/T/stdlib.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/T/stdlib.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/T/stdlib.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/TestDice.h b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/TestDice.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/TestDice.h rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/TestDice.h diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/mock_stdlib.cpp b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/mock_stdlib.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/mock_stdlib.cpp rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/mock_stdlib.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/real_stdlib.cpp b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/real_stdlib.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/real_stdlib.cpp rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/real_stdlib.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/sample/mock/roll.cpp b/Code/Mantid/Testing/Tools/cxxtest/sample/mock/roll.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/mock/roll.cpp rename to Code/Mantid/Testing/Tools/cxxtest/sample/mock/roll.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_1_Run.dsp b/Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_1_Run.dsp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_1_Run.dsp rename to Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_1_Run.dsp diff --git a/Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_2_Build.dsp b/Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_2_Build.dsp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_2_Build.dsp rename to Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_2_Build.dsp diff --git a/Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_3_Generate.dsp b/Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_3_Generate.dsp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_3_Generate.dsp rename to Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_3_Generate.dsp diff --git a/Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_Workspace.dsw b/Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_Workspace.dsw similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/msvc/CxxTest_Workspace.dsw rename to Code/Mantid/Testing/Tools/cxxtest/sample/msvc/CxxTest_Workspace.dsw diff --git a/Code/Mantid/TestingTools/cxxtest/sample/msvc/FixFiles.bat b/Code/Mantid/Testing/Tools/cxxtest/sample/msvc/FixFiles.bat similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/msvc/FixFiles.bat rename to Code/Mantid/Testing/Tools/cxxtest/sample/msvc/FixFiles.bat diff --git a/Code/Mantid/TestingTools/cxxtest/sample/msvc/Makefile b/Code/Mantid/Testing/Tools/cxxtest/sample/msvc/Makefile similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/msvc/Makefile rename to Code/Mantid/Testing/Tools/cxxtest/sample/msvc/Makefile diff --git a/Code/Mantid/TestingTools/cxxtest/sample/msvc/ReadMe.txt b/Code/Mantid/Testing/Tools/cxxtest/sample/msvc/ReadMe.txt similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/msvc/ReadMe.txt rename to Code/Mantid/Testing/Tools/cxxtest/sample/msvc/ReadMe.txt diff --git a/Code/Mantid/TestingTools/cxxtest/sample/only.tpl b/Code/Mantid/Testing/Tools/cxxtest/sample/only.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/only.tpl rename to Code/Mantid/Testing/Tools/cxxtest/sample/only.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/sample/parts/.cvsignore b/Code/Mantid/Testing/Tools/cxxtest/sample/parts/.cvsignore similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/parts/.cvsignore rename to Code/Mantid/Testing/Tools/cxxtest/sample/parts/.cvsignore diff --git a/Code/Mantid/TestingTools/cxxtest/sample/parts/Makefile.unix b/Code/Mantid/Testing/Tools/cxxtest/sample/parts/Makefile.unix similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/parts/Makefile.unix rename to Code/Mantid/Testing/Tools/cxxtest/sample/parts/Makefile.unix diff --git a/Code/Mantid/TestingTools/cxxtest/sample/winddk/Makefile b/Code/Mantid/Testing/Tools/cxxtest/sample/winddk/Makefile similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/winddk/Makefile rename to Code/Mantid/Testing/Tools/cxxtest/sample/winddk/Makefile diff --git a/Code/Mantid/TestingTools/cxxtest/sample/winddk/Makefile.inc b/Code/Mantid/Testing/Tools/cxxtest/sample/winddk/Makefile.inc similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/winddk/Makefile.inc rename to Code/Mantid/Testing/Tools/cxxtest/sample/winddk/Makefile.inc diff --git a/Code/Mantid/TestingTools/cxxtest/sample/winddk/RunTests.tpl b/Code/Mantid/Testing/Tools/cxxtest/sample/winddk/RunTests.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/winddk/RunTests.tpl rename to Code/Mantid/Testing/Tools/cxxtest/sample/winddk/RunTests.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/sample/winddk/SOURCES b/Code/Mantid/Testing/Tools/cxxtest/sample/winddk/SOURCES similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/winddk/SOURCES rename to Code/Mantid/Testing/Tools/cxxtest/sample/winddk/SOURCES diff --git a/Code/Mantid/TestingTools/cxxtest/sample/yes_no_runner.cpp b/Code/Mantid/Testing/Tools/cxxtest/sample/yes_no_runner.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/sample/yes_no_runner.cpp rename to Code/Mantid/Testing/Tools/cxxtest/sample/yes_no_runner.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/.cvsignore b/Code/Mantid/Testing/Tools/cxxtest/test/.cvsignore similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/.cvsignore rename to Code/Mantid/Testing/Tools/cxxtest/test/.cvsignore diff --git a/Code/Mantid/TestingTools/cxxtest/test/AborterNoThrow.h b/Code/Mantid/Testing/Tools/cxxtest/test/AborterNoThrow.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/AborterNoThrow.h rename to Code/Mantid/Testing/Tools/cxxtest/test/AborterNoThrow.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/BadTest.h b/Code/Mantid/Testing/Tools/cxxtest/test/BadTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/BadTest.h rename to Code/Mantid/Testing/Tools/cxxtest/test/BadTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Comments.h b/Code/Mantid/Testing/Tools/cxxtest/test/Comments.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Comments.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Comments.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/DeepAbort.h b/Code/Mantid/Testing/Tools/cxxtest/test/DeepAbort.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/DeepAbort.h rename to Code/Mantid/Testing/Tools/cxxtest/test/DeepAbort.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/DefaultAbort.h b/Code/Mantid/Testing/Tools/cxxtest/test/DefaultAbort.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/DefaultAbort.h rename to Code/Mantid/Testing/Tools/cxxtest/test/DefaultAbort.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/DefaultTraits.h b/Code/Mantid/Testing/Tools/cxxtest/test/DefaultTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/DefaultTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/test/DefaultTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/DoubleCall.h b/Code/Mantid/Testing/Tools/cxxtest/test/DoubleCall.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/DoubleCall.h rename to Code/Mantid/Testing/Tools/cxxtest/test/DoubleCall.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/DynamicAbort.h b/Code/Mantid/Testing/Tools/cxxtest/test/DynamicAbort.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/DynamicAbort.h rename to Code/Mantid/Testing/Tools/cxxtest/test/DynamicAbort.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/DynamicMax.h b/Code/Mantid/Testing/Tools/cxxtest/test/DynamicMax.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/DynamicMax.h rename to Code/Mantid/Testing/Tools/cxxtest/test/DynamicMax.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/EmptySuite.h b/Code/Mantid/Testing/Tools/cxxtest/test/EmptySuite.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/EmptySuite.h rename to Code/Mantid/Testing/Tools/cxxtest/test/EmptySuite.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Exceptions.h b/Code/Mantid/Testing/Tools/cxxtest/test/Exceptions.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Exceptions.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Exceptions.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Factor.h b/Code/Mantid/Testing/Tools/cxxtest/test/Factor.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Factor.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Factor.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/ForceNoEh.h b/Code/Mantid/Testing/Tools/cxxtest/test/ForceNoEh.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/ForceNoEh.h rename to Code/Mantid/Testing/Tools/cxxtest/test/ForceNoEh.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/GfSetUpFails.h b/Code/Mantid/Testing/Tools/cxxtest/test/GfSetUpFails.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/GfSetUpFails.h rename to Code/Mantid/Testing/Tools/cxxtest/test/GfSetUpFails.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/GfSetUpThrows.h b/Code/Mantid/Testing/Tools/cxxtest/test/GfSetUpThrows.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/GfSetUpThrows.h rename to Code/Mantid/Testing/Tools/cxxtest/test/GfSetUpThrows.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/GfTearDownFails.h b/Code/Mantid/Testing/Tools/cxxtest/test/GfTearDownFails.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/GfTearDownFails.h rename to Code/Mantid/Testing/Tools/cxxtest/test/GfTearDownFails.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/GfTearDownThrows.h b/Code/Mantid/Testing/Tools/cxxtest/test/GfTearDownThrows.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/GfTearDownThrows.h rename to Code/Mantid/Testing/Tools/cxxtest/test/GfTearDownThrows.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/GlobalFixtures.h b/Code/Mantid/Testing/Tools/cxxtest/test/GlobalFixtures.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/GlobalFixtures.h rename to Code/Mantid/Testing/Tools/cxxtest/test/GlobalFixtures.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/GoodSuite.h b/Code/Mantid/Testing/Tools/cxxtest/test/GoodSuite.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/GoodSuite.h rename to Code/Mantid/Testing/Tools/cxxtest/test/GoodSuite.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/GuiWait.h b/Code/Mantid/Testing/Tools/cxxtest/test/GuiWait.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/GuiWait.h rename to Code/Mantid/Testing/Tools/cxxtest/test/GuiWait.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/HaveStd.h b/Code/Mantid/Testing/Tools/cxxtest/test/HaveStd.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/HaveStd.h rename to Code/Mantid/Testing/Tools/cxxtest/test/HaveStd.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/IncludeTest.h b/Code/Mantid/Testing/Tools/cxxtest/test/IncludeTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/IncludeTest.h rename to Code/Mantid/Testing/Tools/cxxtest/test/IncludeTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Int64.h b/Code/Mantid/Testing/Tools/cxxtest/test/Int64.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Int64.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Int64.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/LessThanEquals.h b/Code/Mantid/Testing/Tools/cxxtest/test/LessThanEquals.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/LessThanEquals.h rename to Code/Mantid/Testing/Tools/cxxtest/test/LessThanEquals.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/LongLong.h b/Code/Mantid/Testing/Tools/cxxtest/test/LongLong.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/LongLong.h rename to Code/Mantid/Testing/Tools/cxxtest/test/LongLong.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/LongTraits.h b/Code/Mantid/Testing/Tools/cxxtest/test/LongTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/LongTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/test/LongTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Makefile b/Code/Mantid/Testing/Tools/cxxtest/test/Makefile similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Makefile rename to Code/Mantid/Testing/Tools/cxxtest/test/Makefile diff --git a/Code/Mantid/TestingTools/cxxtest/test/MaxDump.h b/Code/Mantid/Testing/Tools/cxxtest/test/MaxDump.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/MaxDump.h rename to Code/Mantid/Testing/Tools/cxxtest/test/MaxDump.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/MockTest.h b/Code/Mantid/Testing/Tools/cxxtest/test/MockTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/MockTest.h rename to Code/Mantid/Testing/Tools/cxxtest/test/MockTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/NoEh.h b/Code/Mantid/Testing/Tools/cxxtest/test/NoEh.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/NoEh.h rename to Code/Mantid/Testing/Tools/cxxtest/test/NoEh.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Part1.h b/Code/Mantid/Testing/Tools/cxxtest/test/Part1.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Part1.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Part1.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Part2.h b/Code/Mantid/Testing/Tools/cxxtest/test/Part2.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Part2.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Part2.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Relation.h b/Code/Mantid/Testing/Tools/cxxtest/test/Relation.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Relation.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Relation.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/SameData.h b/Code/Mantid/Testing/Tools/cxxtest/test/SameData.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/SameData.h rename to Code/Mantid/Testing/Tools/cxxtest/test/SameData.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/SameZero.h b/Code/Mantid/Testing/Tools/cxxtest/test/SameZero.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/SameZero.h rename to Code/Mantid/Testing/Tools/cxxtest/test/SameZero.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/SetUpWorldFails.h b/Code/Mantid/Testing/Tools/cxxtest/test/SetUpWorldFails.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/SetUpWorldFails.h rename to Code/Mantid/Testing/Tools/cxxtest/test/SetUpWorldFails.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/SetUpWorldThrows.h b/Code/Mantid/Testing/Tools/cxxtest/test/SetUpWorldThrows.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/SetUpWorldThrows.h rename to Code/Mantid/Testing/Tools/cxxtest/test/SetUpWorldThrows.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Something.h b/Code/Mantid/Testing/Tools/cxxtest/test/Something.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Something.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Something.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/StlTraits.h b/Code/Mantid/Testing/Tools/cxxtest/test/StlTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/StlTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/test/StlTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/TearDownWorldFails.h b/Code/Mantid/Testing/Tools/cxxtest/test/TearDownWorldFails.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/TearDownWorldFails.h rename to Code/Mantid/Testing/Tools/cxxtest/test/TearDownWorldFails.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/TearDownWorldThrows.h b/Code/Mantid/Testing/Tools/cxxtest/test/TearDownWorldThrows.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/TearDownWorldThrows.h rename to Code/Mantid/Testing/Tools/cxxtest/test/TearDownWorldThrows.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/ThrowNoStd.h b/Code/Mantid/Testing/Tools/cxxtest/test/ThrowNoStd.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/ThrowNoStd.h rename to Code/Mantid/Testing/Tools/cxxtest/test/ThrowNoStd.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/ThrowNoStd.tpl b/Code/Mantid/Testing/Tools/cxxtest/test/ThrowNoStd.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/ThrowNoStd.tpl rename to Code/Mantid/Testing/Tools/cxxtest/test/ThrowNoStd.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/test/ThrowsAssert.h b/Code/Mantid/Testing/Tools/cxxtest/test/ThrowsAssert.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/ThrowsAssert.h rename to Code/Mantid/Testing/Tools/cxxtest/test/ThrowsAssert.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/TraitsTest.h b/Code/Mantid/Testing/Tools/cxxtest/test/TraitsTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/TraitsTest.h rename to Code/Mantid/Testing/Tools/cxxtest/test/TraitsTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/Tsm.h b/Code/Mantid/Testing/Tools/cxxtest/test/Tsm.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/Tsm.h rename to Code/Mantid/Testing/Tools/cxxtest/test/Tsm.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/UserTraits.h b/Code/Mantid/Testing/Tools/cxxtest/test/UserTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/UserTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/test/UserTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/UserTraits.tpl b/Code/Mantid/Testing/Tools/cxxtest/test/UserTraits.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/UserTraits.tpl rename to Code/Mantid/Testing/Tools/cxxtest/test/UserTraits.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/test/VoidTraits.h b/Code/Mantid/Testing/Tools/cxxtest/test/VoidTraits.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/VoidTraits.h rename to Code/Mantid/Testing/Tools/cxxtest/test/VoidTraits.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/WideCharTest.h b/Code/Mantid/Testing/Tools/cxxtest/test/WideCharTest.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/WideCharTest.h rename to Code/Mantid/Testing/Tools/cxxtest/test/WideCharTest.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/WorldFixtures.h b/Code/Mantid/Testing/Tools/cxxtest/test/WorldFixtures.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/WorldFixtures.h rename to Code/Mantid/Testing/Tools/cxxtest/test/WorldFixtures.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/abort.out b/Code/Mantid/Testing/Tools/cxxtest/test/abort.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/abort.out rename to Code/Mantid/Testing/Tools/cxxtest/test/abort.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/activate.tpl b/Code/Mantid/Testing/Tools/cxxtest/test/activate.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/activate.tpl rename to Code/Mantid/Testing/Tools/cxxtest/test/activate.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/test/anything.cpp b/Code/Mantid/Testing/Tools/cxxtest/test/anything.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/anything.cpp rename to Code/Mantid/Testing/Tools/cxxtest/test/anything.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/comments.out b/Code/Mantid/Testing/Tools/cxxtest/test/comments.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/comments.out rename to Code/Mantid/Testing/Tools/cxxtest/test/comments.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/cxxtest/DummyGui.h b/Code/Mantid/Testing/Tools/cxxtest/test/cxxtest/DummyGui.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/cxxtest/DummyGui.h rename to Code/Mantid/Testing/Tools/cxxtest/test/cxxtest/DummyGui.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/default_abort.out b/Code/Mantid/Testing/Tools/cxxtest/test/default_abort.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/default_abort.out rename to Code/Mantid/Testing/Tools/cxxtest/test/default_abort.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/eh_normals.out b/Code/Mantid/Testing/Tools/cxxtest/test/eh_normals.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/eh_normals.out rename to Code/Mantid/Testing/Tools/cxxtest/test/eh_normals.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/error.out b/Code/Mantid/Testing/Tools/cxxtest/test/error.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/error.out rename to Code/Mantid/Testing/Tools/cxxtest/test/error.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/factor.out b/Code/Mantid/Testing/Tools/cxxtest/test/factor.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/factor.out rename to Code/Mantid/Testing/Tools/cxxtest/test/factor.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/.cvsignore b/Code/Mantid/Testing/Tools/cxxtest/test/fake/.cvsignore similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/.cvsignore rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/.cvsignore diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/X11/Xlib.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/X11/Xlib.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/X11/Xlib.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/X11/Xlib.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/X11/Xutil.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/X11/Xutil.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/X11/Xutil.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/X11/Xutil.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/commctrl.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/commctrl.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/commctrl.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/commctrl.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qapplication.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qapplication.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qapplication.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qapplication.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qglobal.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qglobal.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qglobal.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qglobal.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qlabel.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qlabel.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qlabel.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qlabel.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qlayout.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qlayout.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qlayout.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qlayout.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qmessagebox.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qmessagebox.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qmessagebox.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qmessagebox.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qpixmap.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qpixmap.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qpixmap.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qpixmap.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qprogressbar.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qprogressbar.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qprogressbar.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qprogressbar.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qstatusbar.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qstatusbar.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qstatusbar.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qstatusbar.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qstring.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qstring.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qstring.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qstring.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/qwidget.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/qwidget.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/qwidget.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/qwidget.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/fake/windows.h b/Code/Mantid/Testing/Tools/cxxtest/test/fake/windows.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/fake/windows.h rename to Code/Mantid/Testing/Tools/cxxtest/test/fake/windows.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/gfsuf.out b/Code/Mantid/Testing/Tools/cxxtest/test/gfsuf.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/gfsuf.out rename to Code/Mantid/Testing/Tools/cxxtest/test/gfsuf.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/gfsut.out b/Code/Mantid/Testing/Tools/cxxtest/test/gfsut.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/gfsut.out rename to Code/Mantid/Testing/Tools/cxxtest/test/gfsut.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/gftdf.out b/Code/Mantid/Testing/Tools/cxxtest/test/gftdf.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/gftdf.out rename to Code/Mantid/Testing/Tools/cxxtest/test/gftdf.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/gftdt.out b/Code/Mantid/Testing/Tools/cxxtest/test/gftdt.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/gftdt.out rename to Code/Mantid/Testing/Tools/cxxtest/test/gftdt.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/gfxs.out b/Code/Mantid/Testing/Tools/cxxtest/test/gfxs.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/gfxs.out rename to Code/Mantid/Testing/Tools/cxxtest/test/gfxs.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/good.out b/Code/Mantid/Testing/Tools/cxxtest/test/good.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/good.out rename to Code/Mantid/Testing/Tools/cxxtest/test/good.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/gui.out b/Code/Mantid/Testing/Tools/cxxtest/test/gui.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/gui.out rename to Code/Mantid/Testing/Tools/cxxtest/test/gui.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/gui_paren.out b/Code/Mantid/Testing/Tools/cxxtest/test/gui_paren.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/gui_paren.out rename to Code/Mantid/Testing/Tools/cxxtest/test/gui_paren.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/include.out b/Code/Mantid/Testing/Tools/cxxtest/test/include.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/include.out rename to Code/Mantid/Testing/Tools/cxxtest/test/include.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/int64.cpp b/Code/Mantid/Testing/Tools/cxxtest/test/int64.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/int64.cpp rename to Code/Mantid/Testing/Tools/cxxtest/test/int64.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/int64.out b/Code/Mantid/Testing/Tools/cxxtest/test/int64.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/int64.out rename to Code/Mantid/Testing/Tools/cxxtest/test/int64.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/longlong.cpp b/Code/Mantid/Testing/Tools/cxxtest/test/longlong.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/longlong.cpp rename to Code/Mantid/Testing/Tools/cxxtest/test/longlong.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/longlong.out b/Code/Mantid/Testing/Tools/cxxtest/test/longlong.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/longlong.out rename to Code/Mantid/Testing/Tools/cxxtest/test/longlong.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/main.cpp b/Code/Mantid/Testing/Tools/cxxtest/test/main.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/main.cpp rename to Code/Mantid/Testing/Tools/cxxtest/test/main.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/max.out b/Code/Mantid/Testing/Tools/cxxtest/test/max.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/max.out rename to Code/Mantid/Testing/Tools/cxxtest/test/max.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/normal.out b/Code/Mantid/Testing/Tools/cxxtest/test/normal.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/normal.out rename to Code/Mantid/Testing/Tools/cxxtest/test/normal.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/paren.out b/Code/Mantid/Testing/Tools/cxxtest/test/paren.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/paren.out rename to Code/Mantid/Testing/Tools/cxxtest/test/paren.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/parts.out b/Code/Mantid/Testing/Tools/cxxtest/test/parts.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/parts.out rename to Code/Mantid/Testing/Tools/cxxtest/test/parts.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/preamble.out b/Code/Mantid/Testing/Tools/cxxtest/test/preamble.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/preamble.out rename to Code/Mantid/Testing/Tools/cxxtest/test/preamble.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/preamble.tpl b/Code/Mantid/Testing/Tools/cxxtest/test/preamble.tpl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/preamble.tpl rename to Code/Mantid/Testing/Tools/cxxtest/test/preamble.tpl diff --git a/Code/Mantid/TestingTools/cxxtest/test/runner.out b/Code/Mantid/Testing/Tools/cxxtest/test/runner.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/runner.out rename to Code/Mantid/Testing/Tools/cxxtest/test/runner.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/std.out b/Code/Mantid/Testing/Tools/cxxtest/test/std.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/std.out rename to Code/Mantid/Testing/Tools/cxxtest/test/std.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/stl.out b/Code/Mantid/Testing/Tools/cxxtest/test/stl.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/stl.out rename to Code/Mantid/Testing/Tools/cxxtest/test/stl.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/stpltpl.cpp b/Code/Mantid/Testing/Tools/cxxtest/test/stpltpl.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/stpltpl.cpp rename to Code/Mantid/Testing/Tools/cxxtest/test/stpltpl.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/suite.out b/Code/Mantid/Testing/Tools/cxxtest/test/suite.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/suite.out rename to Code/Mantid/Testing/Tools/cxxtest/test/suite.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/suite_test.out b/Code/Mantid/Testing/Tools/cxxtest/test/suite_test.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/suite_test.out rename to Code/Mantid/Testing/Tools/cxxtest/test/suite_test.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/suwf.out b/Code/Mantid/Testing/Tools/cxxtest/test/suwf.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/suwf.out rename to Code/Mantid/Testing/Tools/cxxtest/test/suwf.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/suwt.out b/Code/Mantid/Testing/Tools/cxxtest/test/suwt.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/suwt.out rename to Code/Mantid/Testing/Tools/cxxtest/test/suwt.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/tdwf.out b/Code/Mantid/Testing/Tools/cxxtest/test/tdwf.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/tdwf.out rename to Code/Mantid/Testing/Tools/cxxtest/test/tdwf.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/tdwt.out b/Code/Mantid/Testing/Tools/cxxtest/test/tdwt.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/tdwt.out rename to Code/Mantid/Testing/Tools/cxxtest/test/tdwt.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/test.pl b/Code/Mantid/Testing/Tools/cxxtest/test/test.pl similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/test.pl rename to Code/Mantid/Testing/Tools/cxxtest/test/test.pl diff --git a/Code/Mantid/TestingTools/cxxtest/test/throw.out b/Code/Mantid/Testing/Tools/cxxtest/test/throw.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/throw.out rename to Code/Mantid/Testing/Tools/cxxtest/test/throw.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/tpltpl.cpp b/Code/Mantid/Testing/Tools/cxxtest/test/tpltpl.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/tpltpl.cpp rename to Code/Mantid/Testing/Tools/cxxtest/test/tpltpl.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/unit/LinkedList_test.t.h b/Code/Mantid/Testing/Tools/cxxtest/test/unit/LinkedList_test.t.h similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/unit/LinkedList_test.t.h rename to Code/Mantid/Testing/Tools/cxxtest/test/unit/LinkedList_test.t.h diff --git a/Code/Mantid/TestingTools/cxxtest/test/unit/SConstruct b/Code/Mantid/Testing/Tools/cxxtest/test/unit/SConstruct similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/unit/SConstruct rename to Code/Mantid/Testing/Tools/cxxtest/test/unit/SConstruct diff --git a/Code/Mantid/TestingTools/cxxtest/test/user.out b/Code/Mantid/Testing/Tools/cxxtest/test/user.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/user.out rename to Code/Mantid/Testing/Tools/cxxtest/test/user.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/wchar.cpp b/Code/Mantid/Testing/Tools/cxxtest/test/wchar.cpp similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/wchar.cpp rename to Code/Mantid/Testing/Tools/cxxtest/test/wchar.cpp diff --git a/Code/Mantid/TestingTools/cxxtest/test/wchar.out b/Code/Mantid/Testing/Tools/cxxtest/test/wchar.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/wchar.out rename to Code/Mantid/Testing/Tools/cxxtest/test/wchar.out diff --git a/Code/Mantid/TestingTools/cxxtest/test/wildcard.out b/Code/Mantid/Testing/Tools/cxxtest/test/wildcard.out similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/test/wildcard.out rename to Code/Mantid/Testing/Tools/cxxtest/test/wildcard.out diff --git a/Code/Mantid/TestingTools/cxxtest/www/cn-project-pages/snippets/HtmlSnippet1.html b/Code/Mantid/Testing/Tools/cxxtest/www/cn-project-pages/snippets/HtmlSnippet1.html similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/www/cn-project-pages/snippets/HtmlSnippet1.html rename to Code/Mantid/Testing/Tools/cxxtest/www/cn-project-pages/snippets/HtmlSnippet1.html diff --git a/Code/Mantid/TestingTools/cxxtest/www/cn-project-pages/snippets/page.xml b/Code/Mantid/Testing/Tools/cxxtest/www/cn-project-pages/snippets/page.xml similarity index 100% rename from Code/Mantid/TestingTools/cxxtest/www/cn-project-pages/snippets/page.xml rename to Code/Mantid/Testing/Tools/cxxtest/www/cn-project-pages/snippets/page.xml diff --git a/Code/Mantid/TestingTools/generatetestmain.py b/Code/Mantid/Testing/Tools/generatetestmain.py similarity index 100% rename from Code/Mantid/TestingTools/generatetestmain.py rename to Code/Mantid/Testing/Tools/generatetestmain.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/CHANGES b/Code/Mantid/Testing/Tools/gmock-1.6.0/CHANGES similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/CHANGES rename to Code/Mantid/Testing/Tools/gmock-1.6.0/CHANGES diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/CMakeLists.txt b/Code/Mantid/Testing/Tools/gmock-1.6.0/CMakeLists.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/CMakeLists.txt rename to Code/Mantid/Testing/Tools/gmock-1.6.0/CMakeLists.txt diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/CONTRIBUTORS b/Code/Mantid/Testing/Tools/gmock-1.6.0/CONTRIBUTORS similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/CONTRIBUTORS rename to Code/Mantid/Testing/Tools/gmock-1.6.0/CONTRIBUTORS diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/COPYING b/Code/Mantid/Testing/Tools/gmock-1.6.0/COPYING similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/COPYING rename to Code/Mantid/Testing/Tools/gmock-1.6.0/COPYING diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/Makefile.am b/Code/Mantid/Testing/Tools/gmock-1.6.0/Makefile.am similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/Makefile.am rename to Code/Mantid/Testing/Tools/gmock-1.6.0/Makefile.am diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/Makefile.in b/Code/Mantid/Testing/Tools/gmock-1.6.0/Makefile.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/Makefile.in rename to Code/Mantid/Testing/Tools/gmock-1.6.0/Makefile.in diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/README b/Code/Mantid/Testing/Tools/gmock-1.6.0/README similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/README rename to Code/Mantid/Testing/Tools/gmock-1.6.0/README diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/aclocal.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/aclocal.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/aclocal.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/aclocal.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/build-aux/config.guess b/Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/config.guess similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/build-aux/config.guess rename to Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/config.guess diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/build-aux/config.h.in b/Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/config.h.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/build-aux/config.h.in rename to Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/config.h.in diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/build-aux/config.sub b/Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/config.sub similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/build-aux/config.sub rename to Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/config.sub diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/build-aux/depcomp b/Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/depcomp similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/build-aux/depcomp rename to Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/depcomp diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/build-aux/install-sh b/Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/install-sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/build-aux/install-sh rename to Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/install-sh diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/build-aux/ltmain.sh b/Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/ltmain.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/build-aux/ltmain.sh rename to Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/ltmain.sh diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/build-aux/missing b/Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/missing similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/build-aux/missing rename to Code/Mantid/Testing/Tools/gmock-1.6.0/build-aux/missing diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/configure b/Code/Mantid/Testing/Tools/gmock-1.6.0/configure similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/configure rename to Code/Mantid/Testing/Tools/gmock-1.6.0/configure diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/configure.ac b/Code/Mantid/Testing/Tools/gmock-1.6.0/configure.ac similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/configure.ac rename to Code/Mantid/Testing/Tools/gmock-1.6.0/configure.ac diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gmock-gtest-all.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gmock-gtest-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gmock-gtest-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gmock-gtest-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gmock/gmock.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gmock/gmock.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gmock/gmock.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gmock/gmock.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gmock_main.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gmock_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gmock_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gmock_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gtest/gtest.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gtest/gtest.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/fused-src/gtest/gtest.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/fused-src/gtest/gtest.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/CHANGES b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/CHANGES similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/CHANGES rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/CHANGES diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/CMakeLists.txt b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/CMakeLists.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/CMakeLists.txt rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/CMakeLists.txt diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/CONTRIBUTORS b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/CONTRIBUTORS similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/CONTRIBUTORS rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/CONTRIBUTORS diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/COPYING b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/COPYING similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/COPYING rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/COPYING diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/Makefile.am b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/Makefile.am similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/Makefile.am rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/Makefile.am diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/Makefile.in b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/Makefile.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/Makefile.in rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/Makefile.in diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/README b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/README similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/README rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/README diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/aclocal.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/aclocal.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/aclocal.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/aclocal.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/config.guess b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/config.guess similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/config.guess rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/config.guess diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/config.h.in b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/config.h.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/config.h.in rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/config.h.in diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/config.sub b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/config.sub similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/config.sub rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/config.sub diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/depcomp b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/depcomp similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/depcomp rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/depcomp diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/install-sh b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/install-sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/install-sh rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/install-sh diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/ltmain.sh b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/ltmain.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/ltmain.sh rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/ltmain.sh diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/missing b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/missing similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/build-aux/missing rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/build-aux/missing diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/cmake/internal_utils.cmake b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/cmake/internal_utils.cmake similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/cmake/internal_utils.cmake rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/cmake/internal_utils.cmake diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest.cbproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest.cbproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest.cbproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest.cbproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest.groupproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest.groupproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest.groupproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest.groupproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_all.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_all.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_link.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_link.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_link.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_link.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_main.cbproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_main.cbproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_main.cbproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_main.cbproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_unittest.cbproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_unittest.cbproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/codegear/gtest_unittest.cbproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/codegear/gtest_unittest.cbproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/configure b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/configure similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/configure rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/configure diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/configure.ac b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/configure.ac similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/configure.ac rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/configure.ac diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/fused-src/gtest/gtest-all.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/fused-src/gtest/gtest-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/fused-src/gtest/gtest-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/fused-src/gtest/gtest-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/fused-src/gtest/gtest.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/fused-src/gtest/gtest.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/fused-src/gtest/gtest.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/fused-src/gtest/gtest.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/fused-src/gtest/gtest_main.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/fused-src/gtest/gtest_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/fused-src/gtest/gtest_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/fused-src/gtest/gtest_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-death-test.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-death-test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-death-test.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-death-test.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-message.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-message.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-message.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-message.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-param-test.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-printers.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-printers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-printers.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-printers.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-spi.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-spi.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-spi.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-spi.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-test-part.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-test-part.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-test-part.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-test-part.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-typed-test.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-typed-test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest-typed-test.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest-typed-test.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest_pred_impl.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest_pred_impl.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest_pred_impl.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest_pred_impl.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest_prod.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest_prod.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/gtest_prod.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/gtest_prod.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-death-test-internal.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-death-test-internal.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-death-test-internal.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-death-test-internal.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-filepath.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-filepath.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-filepath.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-filepath.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-internal.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-internal.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-internal.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-internal.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-linked_ptr.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-linked_ptr.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-linked_ptr.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-linked_ptr.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-param-util.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-port.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-port.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-port.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-port.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-string.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-string.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-string.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-string.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-tuple.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/include/gtest/internal/gtest-type-util.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/acx_pthread.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/acx_pthread.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/acx_pthread.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/acx_pthread.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/gtest.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/gtest.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/gtest.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/gtest.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/libtool.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/libtool.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/libtool.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/libtool.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/ltoptions.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/ltoptions.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/ltoptions.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/ltoptions.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/ltsugar.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/ltsugar.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/ltsugar.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/ltsugar.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/ltversion.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/ltversion.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/ltversion.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/ltversion.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/lt~obsolete.m4 b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/lt~obsolete.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/m4/lt~obsolete.m4 rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/m4/lt~obsolete.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest-md.sln b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest-md.sln similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest-md.sln rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest-md.sln diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest-md.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest-md.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest-md.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest-md.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest.sln b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest.sln similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest.sln rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest.sln diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_main-md.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_main-md.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_main-md.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_main-md.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_main.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_main.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_main.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_main.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_prod_test-md.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_prod_test-md.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_prod_test-md.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_prod_test-md.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_prod_test.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_prod_test.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_prod_test.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_prod_test.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_unittest-md.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_unittest-md.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_unittest-md.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_unittest-md.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_unittest.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_unittest.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/msvc/gtest_unittest.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/msvc/gtest_unittest.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/prime_tables.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/prime_tables.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/prime_tables.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/prime_tables.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample1.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample1.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample1.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample1.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample1.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample1.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample1.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample1.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample10_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample10_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample10_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample10_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample1_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample1_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample1_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample1_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample2.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample2.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample2.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample2.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample2.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample2.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample2.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample2.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample2_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample2_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample2_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample2_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample3-inl.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample3-inl.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample3-inl.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample3-inl.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample3_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample3_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample3_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample3_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample4.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample4.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample4.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample4.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample4.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample4.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample4.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample4.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample4_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample4_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample4_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample4_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample5_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample5_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample5_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample5_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample6_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample6_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample6_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample6_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample7_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample7_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample7_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample7_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample8_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample8_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample8_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample8_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample9_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample9_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/samples/sample9_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/samples/sample9_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/fuse_gtest_files.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/fuse_gtest_files.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/fuse_gtest_files.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/fuse_gtest_files.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/gen_gtest_pred_impl.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/gen_gtest_pred_impl.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/gen_gtest_pred_impl.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/gen_gtest_pred_impl.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/gtest-config.in b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/gtest-config.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/gtest-config.in rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/gtest-config.in diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/pump.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/pump.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/scripts/pump.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/scripts/pump.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-all.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-death-test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-death-test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-death-test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-death-test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-filepath.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-filepath.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-filepath.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-filepath.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-internal-inl.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-internal-inl.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-internal-inl.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-internal-inl.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-port.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-port.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-port.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-port.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-printers.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-printers.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-printers.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-printers.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-test-part.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-test-part.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-test-part.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-test-part.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-typed-test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-typed-test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest-typed-test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest-typed-test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest_main.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/src/gtest_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/src/gtest_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-death-test_ex_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-death-test_ex_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-death-test_ex_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-death-test_ex_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-death-test_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-death-test_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-death-test_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-death-test_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-filepath_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-filepath_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-filepath_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-filepath_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-linked_ptr_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-linked_ptr_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-linked_ptr_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-linked_ptr_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-listener_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-listener_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-listener_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-listener_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-message_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-message_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-message_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-message_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-options_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-options_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-options_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-options_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-param-test2_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-param-test2_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-param-test2_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-param-test2_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-param-test_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-param-test_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-param-test_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-param-test_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-param-test_test.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-param-test_test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-param-test_test.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-param-test_test.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-port_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-port_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-port_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-port_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-printers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-printers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-printers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-printers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-test-part_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-test-part_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-test-part_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-test-part_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-tuple_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-tuple_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-tuple_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-tuple_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-typed-test2_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-typed-test2_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-typed-test2_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-typed-test2_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-typed-test_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-typed-test_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-typed-test_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-typed-test_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-typed-test_test.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-typed-test_test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-typed-test_test.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-typed-test_test.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-unittest-api_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-unittest-api_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest-unittest-api_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest-unittest-api_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_all_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_all_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_all_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_all_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_break_on_failure_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_catch_exceptions_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_color_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_color_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_color_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_color_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_color_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_color_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_color_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_color_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_env_var_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_env_var_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_env_var_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_env_var_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_env_var_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_env_var_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_env_var_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_env_var_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_environment_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_environment_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_environment_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_environment_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_filter_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_filter_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_filter_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_filter_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_filter_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_filter_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_filter_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_filter_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_help_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_help_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_help_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_help_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_help_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_help_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_help_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_help_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_list_tests_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_main_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_main_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_main_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_main_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_no_test_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_no_test_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_no_test_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_no_test_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_output_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_output_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_output_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_output_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_output_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_output_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_output_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_output_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_output_test_golden_lin.txt b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_output_test_golden_lin.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_output_test_golden_lin.txt rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_output_test_golden_lin.txt diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_pred_impl_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_pred_impl_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_pred_impl_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_pred_impl_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_prod_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_prod_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_prod_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_prod_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_repeat_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_repeat_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_repeat_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_repeat_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_shuffle_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_shuffle_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_shuffle_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_shuffle_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_shuffle_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_shuffle_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_shuffle_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_shuffle_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_sole_header_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_sole_header_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_sole_header_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_sole_header_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_stress_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_stress_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_stress_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_stress_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_test_utils.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_test_utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_test_utils.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_test_utils.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_ex_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_ex_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_ex_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_ex_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_throw_on_failure_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_uninitialized_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_uninitialized_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_uninitialized_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_uninitialized_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_uninitialized_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_uninitialized_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_uninitialized_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_uninitialized_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_outfile1_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_outfile1_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_outfile1_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_outfile1_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_outfile2_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_outfile2_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_outfile2_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_outfile2_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_outfiles_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_outfiles_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_outfiles_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_outfiles_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_output_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_test_utils.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_test_utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/gtest_xml_test_utils.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/gtest_xml_test_utils.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/production.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/production.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/production.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/production.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/production.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/production.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/test/production.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/test/production.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/DebugProject.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/DebugProject.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/DebugProject.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/DebugProject.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/FrameworkTarget.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/FrameworkTarget.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/FrameworkTarget.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/FrameworkTarget.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/General.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/General.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/General.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/General.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/ReleaseProject.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/ReleaseProject.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/ReleaseProject.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/ReleaseProject.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/TestTarget.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/TestTarget.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Config/TestTarget.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Config/TestTarget.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Resources/Info.plist b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Resources/Info.plist similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Resources/Info.plist rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Resources/Info.plist diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/Info.plist b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/Info.plist similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/Info.plist rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/Info.plist diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/runtests.sh b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/runtests.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/runtests.sh rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/runtests.sh diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Scripts/runtests.sh b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Scripts/runtests.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Scripts/runtests.sh rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Scripts/runtests.sh diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Scripts/versiongenerate.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Scripts/versiongenerate.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/Scripts/versiongenerate.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/Scripts/versiongenerate.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/gtest.xcodeproj/project.pbxproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/gtest.xcodeproj/project.pbxproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/gtest/xcode/gtest.xcodeproj/project.pbxproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/gtest/xcode/gtest.xcodeproj/project.pbxproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-actions.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-actions.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-actions.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-actions.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-cardinalities.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-cardinalities.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-cardinalities.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-cardinalities.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-actions.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-actions.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-actions.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-actions.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-actions.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-actions.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-actions.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-actions.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-function-mockers.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-matchers.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-generated-nice-strict.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-matchers.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-matchers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-matchers.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-matchers.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-more-actions.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-more-actions.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-more-actions.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-more-actions.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-spec-builders.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-spec-builders.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock-spec-builders.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock-spec-builders.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/gmock.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/gmock.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h.pump b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-generated-internal-utils.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-internal-utils.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-internal-utils.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-internal-utils.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-internal-utils.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-port.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-port.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/include/gmock/internal/gmock-port.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/include/gmock/internal/gmock-port.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock.sln b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock.sln similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock.sln rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock.sln diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock_config.vsprops b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock_config.vsprops similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock_config.vsprops rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock_config.vsprops diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock_main.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock_main.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock_main.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock_main.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock_test.vcproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock_test.vcproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2005/gmock_test.vcproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2005/gmock_test.vcproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock.sln b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock.sln similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock.sln rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock.sln diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock.vcxproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock.vcxproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock.vcxproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock.vcxproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock_config.props b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock_config.props similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock_config.props rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock_config.props diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock_main.vcxproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock_main.vcxproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock_main.vcxproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock_main.vcxproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock_test.vcxproj b/Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock_test.vcxproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/msvc/2010/gmock_test.vcxproj rename to Code/Mantid/Testing/Tools/gmock-1.6.0/msvc/2010/gmock_test.vcxproj diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/fuse_gmock_files.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/fuse_gmock_files.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/fuse_gmock_files.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/fuse_gmock_files.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/COPYING b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/COPYING similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/COPYING rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/COPYING diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/README b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/README similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/README rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/README diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/README.cppclean b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/README.cppclean similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/README.cppclean rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/README.cppclean diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/__init__.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/__init__.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/__init__.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/__init__.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/ast.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/ast.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/ast.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/ast.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/gmock_class.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/gmock_class.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/gmock_class.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/gmock_class.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/keywords.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/keywords.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/keywords.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/keywords.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/tokenize.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/tokenize.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/tokenize.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/tokenize.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/utils.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/cpp/utils.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/cpp/utils.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/gmock_gen.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/gmock_gen.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/generator/gmock_gen.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/generator/gmock_gen.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/scripts/gmock-config.in b/Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/gmock-config.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/scripts/gmock-config.in rename to Code/Mantid/Testing/Tools/gmock-1.6.0/scripts/gmock-config.in diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-all.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-cardinalities.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-cardinalities.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-cardinalities.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-cardinalities.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-internal-utils.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-internal-utils.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-internal-utils.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-internal-utils.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-matchers.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-matchers.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-matchers.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-matchers.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-spec-builders.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-spec-builders.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/src/gmock-spec-builders.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock-spec-builders.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/src/gmock.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/src/gmock.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/src/gmock_main.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/src/gmock_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/src/gmock_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-actions_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-actions_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-actions_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-actions_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-cardinalities_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-cardinalities_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-cardinalities_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-cardinalities_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-actions_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-actions_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-actions_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-actions_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-function-mockers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-function-mockers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-function-mockers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-function-mockers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-internal-utils_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-internal-utils_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-internal-utils_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-internal-utils_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-matchers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-matchers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-generated-matchers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-generated-matchers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-internal-utils_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-internal-utils_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-internal-utils_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-internal-utils_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-matchers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-matchers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-matchers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-matchers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-more-actions_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-more-actions_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-more-actions_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-more-actions_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-nice-strict_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-nice-strict_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-nice-strict_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-nice-strict_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-port_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-port_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-port_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-port_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-spec-builders_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-spec-builders_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock-spec-builders_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock-spec-builders_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_all_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_all_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_all_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_all_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_leak_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_leak_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_leak_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_leak_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_leak_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_leak_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_leak_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_leak_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_link2_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_link2_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_link2_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_link2_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_link_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_link_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_link_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_link_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_link_test.h b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_link_test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_link_test.h rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_link_test.h diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_output_test.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_output_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_output_test.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_output_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_output_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_output_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_output_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_output_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_output_test_golden.txt b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_output_test_golden.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_output_test_golden.txt rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_output_test_golden.txt diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_test.cc b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_test_utils.py b/Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_test_utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.6.0/test/gmock_test_utils.py rename to Code/Mantid/Testing/Tools/gmock-1.6.0/test/gmock_test_utils.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/CHANGES b/Code/Mantid/Testing/Tools/gmock-1.7.0/CHANGES similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/CHANGES rename to Code/Mantid/Testing/Tools/gmock-1.7.0/CHANGES diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/CMakeLists.txt b/Code/Mantid/Testing/Tools/gmock-1.7.0/CMakeLists.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/CMakeLists.txt rename to Code/Mantid/Testing/Tools/gmock-1.7.0/CMakeLists.txt diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/CONTRIBUTORS b/Code/Mantid/Testing/Tools/gmock-1.7.0/CONTRIBUTORS similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/CONTRIBUTORS rename to Code/Mantid/Testing/Tools/gmock-1.7.0/CONTRIBUTORS diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/LICENSE b/Code/Mantid/Testing/Tools/gmock-1.7.0/LICENSE similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/LICENSE rename to Code/Mantid/Testing/Tools/gmock-1.7.0/LICENSE diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/Makefile.am b/Code/Mantid/Testing/Tools/gmock-1.7.0/Makefile.am similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/Makefile.am rename to Code/Mantid/Testing/Tools/gmock-1.7.0/Makefile.am diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/Makefile.in b/Code/Mantid/Testing/Tools/gmock-1.7.0/Makefile.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/Makefile.in rename to Code/Mantid/Testing/Tools/gmock-1.7.0/Makefile.in diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/README b/Code/Mantid/Testing/Tools/gmock-1.7.0/README similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/README rename to Code/Mantid/Testing/Tools/gmock-1.7.0/README diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/aclocal.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/aclocal.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/aclocal.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/aclocal.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/build-aux/config.guess b/Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/config.guess similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/build-aux/config.guess rename to Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/config.guess diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/build-aux/config.h.in b/Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/config.h.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/build-aux/config.h.in rename to Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/config.h.in diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/build-aux/config.sub b/Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/config.sub similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/build-aux/config.sub rename to Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/config.sub diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/build-aux/depcomp b/Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/depcomp similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/build-aux/depcomp rename to Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/depcomp diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/build-aux/install-sh b/Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/install-sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/build-aux/install-sh rename to Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/install-sh diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/build-aux/ltmain.sh b/Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/ltmain.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/build-aux/ltmain.sh rename to Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/ltmain.sh diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/build-aux/missing b/Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/missing similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/build-aux/missing rename to Code/Mantid/Testing/Tools/gmock-1.7.0/build-aux/missing diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/configure b/Code/Mantid/Testing/Tools/gmock-1.7.0/configure similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/configure rename to Code/Mantid/Testing/Tools/gmock-1.7.0/configure diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/configure.ac b/Code/Mantid/Testing/Tools/gmock-1.7.0/configure.ac similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/configure.ac rename to Code/Mantid/Testing/Tools/gmock-1.7.0/configure.ac diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gmock-gtest-all.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gmock-gtest-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gmock-gtest-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gmock-gtest-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gmock/gmock.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gmock/gmock.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gmock/gmock.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gmock/gmock.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gmock_main.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gmock_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gmock_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gmock_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gtest/gtest.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gtest/gtest.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/fused-src/gtest/gtest.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/fused-src/gtest/gtest.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/CHANGES b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/CHANGES similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/CHANGES rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/CHANGES diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/CMakeLists.txt b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/CMakeLists.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/CMakeLists.txt rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/CMakeLists.txt diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/CONTRIBUTORS b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/CONTRIBUTORS similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/CONTRIBUTORS rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/CONTRIBUTORS diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/LICENSE b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/LICENSE similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/LICENSE rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/LICENSE diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/Makefile.am b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/Makefile.am similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/Makefile.am rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/Makefile.am diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/Makefile.in b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/Makefile.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/Makefile.in rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/Makefile.in diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/README b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/README similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/README rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/README diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/aclocal.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/aclocal.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/aclocal.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/aclocal.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/config.guess b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/config.guess similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/config.guess rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/config.guess diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/config.h.in b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/config.h.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/config.h.in rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/config.h.in diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/config.sub b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/config.sub similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/config.sub rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/config.sub diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/depcomp b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/depcomp similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/depcomp rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/depcomp diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/install-sh b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/install-sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/install-sh rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/install-sh diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/ltmain.sh b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/ltmain.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/ltmain.sh rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/ltmain.sh diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/missing b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/missing similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/build-aux/missing rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/build-aux/missing diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/cmake/internal_utils.cmake b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/cmake/internal_utils.cmake similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/cmake/internal_utils.cmake rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/cmake/internal_utils.cmake diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest.cbproj b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest.cbproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest.cbproj rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest.cbproj diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest.groupproj b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest.groupproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest.groupproj rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest.groupproj diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_all.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_all.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_link.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_link.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_link.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_link.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_main.cbproj b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_main.cbproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_main.cbproj rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_main.cbproj diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_unittest.cbproj b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_unittest.cbproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/codegear/gtest_unittest.cbproj rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/codegear/gtest_unittest.cbproj diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/configure b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/configure similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/configure rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/configure diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/configure.ac b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/configure.ac similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/configure.ac rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/configure.ac diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/fused-src/gtest/gtest-all.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/fused-src/gtest/gtest-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/fused-src/gtest/gtest-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/fused-src/gtest/gtest-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/fused-src/gtest/gtest.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/fused-src/gtest/gtest.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/fused-src/gtest/gtest.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/fused-src/gtest/gtest.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/fused-src/gtest/gtest_main.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/fused-src/gtest/gtest_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/fused-src/gtest/gtest_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/fused-src/gtest/gtest_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-death-test.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-death-test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-death-test.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-death-test.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-message.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-message.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-message.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-message.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-printers.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-printers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-printers.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-printers.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-spi.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-spi.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-spi.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-spi.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-test-part.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-test-part.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-test-part.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-test-part.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-typed-test.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-typed-test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest-typed-test.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest-typed-test.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest_pred_impl.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest_pred_impl.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest_pred_impl.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest_pred_impl.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest_prod.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest_prod.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/gtest_prod.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/gtest_prod.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-death-test-internal.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-death-test-internal.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-death-test-internal.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-death-test-internal.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-filepath.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-filepath.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-filepath.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-filepath.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-internal.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-internal.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-internal.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-internal.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-linked_ptr.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-linked_ptr.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-linked_ptr.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-linked_ptr.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util-generated.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-param-util.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-port.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-port.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-port.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-port.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-string.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-string.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-string.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-string.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-tuple.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/include/gtest/internal/gtest-type-util.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/acx_pthread.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/acx_pthread.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/acx_pthread.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/acx_pthread.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/gtest.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/gtest.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/gtest.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/gtest.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/libtool.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/libtool.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/libtool.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/libtool.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/ltoptions.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/ltoptions.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/ltoptions.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/ltoptions.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/ltsugar.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/ltsugar.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/ltsugar.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/ltsugar.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/ltversion.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/ltversion.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/ltversion.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/ltversion.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/lt~obsolete.m4 b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/lt~obsolete.m4 similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/m4/lt~obsolete.m4 rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/m4/lt~obsolete.m4 diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/prime_tables.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/prime_tables.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/prime_tables.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/prime_tables.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample1.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample1.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample1.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample1.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample1.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample1.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample1.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample1.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample10_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample10_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample10_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample10_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample1_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample1_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample1_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample1_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample2.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample2.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample2.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample2.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample2.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample2.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample2.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample2.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample2_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample2_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample2_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample2_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample3-inl.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample3-inl.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample3-inl.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample3-inl.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample3_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample3_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample3_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample3_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample4.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample4.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample4.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample4.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample4.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample4.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample4.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample4.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample4_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample4_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample4_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample4_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample5_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample5_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample5_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample5_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample6_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample6_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample6_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample6_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample7_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample7_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample7_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample7_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample8_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample8_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample8_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample8_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample9_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample9_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/samples/sample9_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/samples/sample9_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/fuse_gtest_files.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/fuse_gtest_files.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/fuse_gtest_files.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/fuse_gtest_files.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/gen_gtest_pred_impl.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/gen_gtest_pred_impl.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/gen_gtest_pred_impl.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/gen_gtest_pred_impl.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/gtest-config.in b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/gtest-config.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/gtest-config.in rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/gtest-config.in diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/pump.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/pump.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/scripts/pump.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/scripts/pump.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-all.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-death-test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-death-test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-death-test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-death-test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-filepath.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-filepath.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-filepath.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-filepath.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-internal-inl.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-internal-inl.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-internal-inl.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-internal-inl.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-port.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-port.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-port.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-port.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-printers.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-printers.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-printers.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-printers.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-test-part.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-test-part.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-test-part.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-test-part.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-typed-test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-typed-test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest-typed-test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest-typed-test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest_main.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/src/gtest_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/src/gtest_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-death-test_ex_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-death-test_ex_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-death-test_ex_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-death-test_ex_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-death-test_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-death-test_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-death-test_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-death-test_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-filepath_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-filepath_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-filepath_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-filepath_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-linked_ptr_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-linked_ptr_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-linked_ptr_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-linked_ptr_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-listener_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-listener_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-listener_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-listener_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-message_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-message_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-message_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-message_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-options_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-options_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-options_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-options_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-param-test2_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-param-test2_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-param-test2_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-param-test2_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-param-test_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-param-test_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-param-test_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-param-test_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-param-test_test.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-param-test_test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-param-test_test.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-param-test_test.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-port_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-port_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-port_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-port_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-printers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-printers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-printers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-printers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-test-part_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-test-part_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-test-part_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-test-part_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-tuple_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-tuple_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-tuple_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-tuple_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-typed-test2_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-typed-test2_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-typed-test2_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-typed-test2_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-typed-test_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-typed-test_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-typed-test_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-typed-test_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-typed-test_test.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-typed-test_test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-typed-test_test.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-typed-test_test.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-unittest-api_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-unittest-api_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest-unittest-api_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest-unittest-api_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_all_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_all_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_all_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_all_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_break_on_failure_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_catch_exceptions_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_color_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_color_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_color_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_color_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_color_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_color_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_color_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_color_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_env_var_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_env_var_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_env_var_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_env_var_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_env_var_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_env_var_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_env_var_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_env_var_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_environment_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_environment_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_environment_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_environment_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_filter_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_filter_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_filter_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_filter_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_filter_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_filter_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_filter_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_filter_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_help_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_help_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_help_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_help_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_help_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_help_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_help_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_help_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_list_tests_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_main_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_main_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_main_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_main_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_no_test_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_no_test_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_no_test_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_no_test_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_output_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_output_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_output_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_output_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_output_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_output_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_output_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_output_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_output_test_golden_lin.txt b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_output_test_golden_lin.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_output_test_golden_lin.txt rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_output_test_golden_lin.txt diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_pred_impl_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_pred_impl_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_pred_impl_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_pred_impl_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_premature_exit_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_premature_exit_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_premature_exit_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_premature_exit_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_prod_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_prod_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_prod_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_prod_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_repeat_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_repeat_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_repeat_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_repeat_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_shuffle_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_shuffle_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_shuffle_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_shuffle_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_shuffle_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_shuffle_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_shuffle_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_shuffle_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_sole_header_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_sole_header_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_sole_header_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_sole_header_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_stress_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_stress_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_stress_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_stress_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_test_utils.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_test_utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_test_utils.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_test_utils.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_ex_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_ex_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_ex_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_ex_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_throw_on_failure_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_uninitialized_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_uninitialized_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_uninitialized_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_uninitialized_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_uninitialized_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_uninitialized_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_uninitialized_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_uninitialized_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_unittest.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_unittest.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_unittest.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_unittest.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_outfile1_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_outfile1_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_outfile1_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_outfile1_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_outfile2_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_outfile2_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_outfile2_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_outfile2_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_outfiles_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_outfiles_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_outfiles_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_outfiles_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_output_unittest_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_test_utils.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_test_utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/gtest_xml_test_utils.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/gtest_xml_test_utils.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/production.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/production.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/production.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/production.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/production.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/production.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/test/production.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/test/production.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/DebugProject.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/DebugProject.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/DebugProject.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/DebugProject.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/FrameworkTarget.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/FrameworkTarget.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/FrameworkTarget.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/FrameworkTarget.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/General.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/General.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/General.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/General.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/ReleaseProject.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/ReleaseProject.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/ReleaseProject.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/ReleaseProject.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/StaticLibraryTarget.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/TestTarget.xcconfig b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/TestTarget.xcconfig similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Config/TestTarget.xcconfig rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Config/TestTarget.xcconfig diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Resources/Info.plist b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Resources/Info.plist similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Resources/Info.plist rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Resources/Info.plist diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/Info.plist b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/Info.plist similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/Info.plist rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/Info.plist diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/runtests.sh b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/runtests.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/runtests.sh rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/runtests.sh diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Samples/FrameworkSample/widget_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Scripts/runtests.sh b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Scripts/runtests.sh similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Scripts/runtests.sh rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Scripts/runtests.sh diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Scripts/versiongenerate.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Scripts/versiongenerate.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/Scripts/versiongenerate.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/Scripts/versiongenerate.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/gtest.xcodeproj/project.pbxproj b/Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/gtest.xcodeproj/project.pbxproj similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/gtest/xcode/gtest.xcodeproj/project.pbxproj rename to Code/Mantid/Testing/Tools/gmock-1.7.0/gtest/xcode/gtest.xcodeproj/project.pbxproj diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-actions.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-actions.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-actions.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-actions.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-cardinalities.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-cardinalities.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-cardinalities.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-cardinalities.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-actions.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-actions.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-actions.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-actions.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-actions.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-actions.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-actions.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-actions.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-function-mockers.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-matchers.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-generated-nice-strict.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-matchers.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-matchers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-matchers.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-matchers.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-more-actions.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-more-actions.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-more-actions.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-more-actions.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-more-matchers.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-more-matchers.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-more-matchers.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-more-matchers.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-spec-builders.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-spec-builders.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock-spec-builders.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock-spec-builders.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/gmock.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/gmock.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h.pump b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h.pump similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h.pump rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-generated-internal-utils.h.pump diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-internal-utils.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-internal-utils.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-internal-utils.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-internal-utils.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-port.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-port.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/include/gmock/internal/gmock-port.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/include/gmock/internal/gmock-port.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/msvc/2005/gmock_config.vsprops b/Code/Mantid/Testing/Tools/gmock-1.7.0/msvc/2005/gmock_config.vsprops similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/msvc/2005/gmock_config.vsprops rename to Code/Mantid/Testing/Tools/gmock-1.7.0/msvc/2005/gmock_config.vsprops diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/msvc/2010/gmock_config.props b/Code/Mantid/Testing/Tools/gmock-1.7.0/msvc/2010/gmock_config.props similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/msvc/2010/gmock_config.props rename to Code/Mantid/Testing/Tools/gmock-1.7.0/msvc/2010/gmock_config.props diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/fuse_gmock_files.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/fuse_gmock_files.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/fuse_gmock_files.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/fuse_gmock_files.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/LICENSE b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/LICENSE similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/LICENSE rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/LICENSE diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/README b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/README similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/README rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/README diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/README.cppclean b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/README.cppclean similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/README.cppclean rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/README.cppclean diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/__init__.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/__init__.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/__init__.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/__init__.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/ast.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/ast.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/ast.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/ast.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/gmock_class.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/gmock_class.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/gmock_class.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/gmock_class.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/keywords.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/keywords.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/keywords.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/keywords.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/tokenize.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/tokenize.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/tokenize.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/tokenize.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/utils.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/cpp/utils.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/cpp/utils.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/gmock_gen.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/gmock_gen.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/generator/gmock_gen.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/generator/gmock_gen.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/scripts/gmock-config.in b/Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/gmock-config.in similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/scripts/gmock-config.in rename to Code/Mantid/Testing/Tools/gmock-1.7.0/scripts/gmock-config.in diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-all.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-all.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-all.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-all.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-cardinalities.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-cardinalities.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-cardinalities.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-cardinalities.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-internal-utils.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-internal-utils.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-internal-utils.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-internal-utils.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-matchers.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-matchers.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-matchers.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-matchers.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-spec-builders.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-spec-builders.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/src/gmock-spec-builders.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock-spec-builders.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/src/gmock.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/src/gmock.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/src/gmock_main.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock_main.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/src/gmock_main.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/src/gmock_main.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-actions_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-actions_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-actions_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-actions_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-cardinalities_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-cardinalities_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-cardinalities_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-cardinalities_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-actions_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-actions_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-actions_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-actions_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-function-mockers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-function-mockers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-function-mockers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-function-mockers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-internal-utils_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-internal-utils_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-internal-utils_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-internal-utils_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-matchers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-matchers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-generated-matchers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-generated-matchers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-internal-utils_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-internal-utils_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-internal-utils_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-internal-utils_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-matchers_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-matchers_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-matchers_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-matchers_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-more-actions_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-more-actions_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-more-actions_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-more-actions_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-nice-strict_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-nice-strict_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-nice-strict_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-nice-strict_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-port_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-port_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-port_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-port_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-spec-builders_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-spec-builders_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock-spec-builders_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock-spec-builders_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_all_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_all_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_all_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_all_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_ex_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_ex_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_ex_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_ex_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_leak_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_leak_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_leak_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_leak_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_leak_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_leak_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_leak_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_leak_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_link2_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_link2_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_link2_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_link2_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_link_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_link_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_link_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_link_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_link_test.h b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_link_test.h similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_link_test.h rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_link_test.h diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_output_test.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_output_test.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_output_test.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_output_test.py diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_output_test_.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_output_test_.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_output_test_.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_output_test_.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_output_test_golden.txt b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_output_test_golden.txt similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_output_test_golden.txt rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_output_test_golden.txt diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_stress_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_stress_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_stress_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_stress_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_test.cc b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_test.cc similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_test.cc rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_test.cc diff --git a/Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_test_utils.py b/Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_test_utils.py similarity index 100% rename from Code/Mantid/TestingTools/gmock-1.7.0/test/gmock_test_utils.py rename to Code/Mantid/Testing/Tools/gmock-1.7.0/test/gmock_test_utils.py diff --git a/Code/Mantid/TestingTools/pyunit_gen/pyunit_gen.py b/Code/Mantid/Testing/Tools/pyunit_gen/pyunit_gen.py similarity index 100% rename from Code/Mantid/TestingTools/pyunit_gen/pyunit_gen.py rename to Code/Mantid/Testing/Tools/pyunit_gen/pyunit_gen.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/LICENSE b/Code/Mantid/Testing/Tools/unittest-xml-reporting/LICENSE similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/LICENSE rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/LICENSE diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/MANIFEST.in b/Code/Mantid/Testing/Tools/unittest-xml-reporting/MANIFEST.in similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/MANIFEST.in rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/MANIFEST.in diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/README.rst b/Code/Mantid/Testing/Tools/unittest-xml-reporting/README.rst similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/README.rst rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/README.rst diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/fabfile.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/fabfile.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/fabfile.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/fabfile.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/setup.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/setup.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/setup.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/setup.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/__init__.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/__init__.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/__init__.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/__init__.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/extra/__init__.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/extra/__init__.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/extra/__init__.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/extra/__init__.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/extra/djangotestrunner.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/extra/djangotestrunner.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/extra/djangotestrunner.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/extra/djangotestrunner.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/__init__.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/__init__.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/__init__.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/__init__.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/errord_test_case.xml b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/errord_test_case.xml similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/errord_test_case.xml rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/errord_test_case.xml diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/failed_test_case.xml b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/failed_test_case.xml similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/failed_test_case.xml rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/failed_test_case.xml diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/mixed_test_case.xml b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/mixed_test_case.xml similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/mixed_test_case.xml rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/mixed_test_case.xml diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/successful_test_case.xml b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/successful_test_case.xml similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/successful_test_case.xml rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/fixtures/successful_test_case.xml diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/testsuite.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/testsuite.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/testsuite.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/testsuite.py diff --git a/Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/testsuite_cases.py b/Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/testsuite_cases.py similarity index 100% rename from Code/Mantid/TestingTools/unittest-xml-reporting/src/xmlrunner/tests/testsuite_cases.py rename to Code/Mantid/Testing/Tools/unittest-xml-reporting/src/xmlrunner/tests/testsuite_cases.py diff --git a/Code/Mantid/Vates/VatesAPI/test/runTests.sh b/Code/Mantid/Vates/VatesAPI/test/runTests.sh deleted file mode 100755 index b223a9bad41b..000000000000 --- a/Code/Mantid/Vates/VatesAPI/test/runTests.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# Simple script to build and run the tests. -# Will run all tests in the directory if no arguments are supplied, -# or alternatively just the test files given as arguments. -# -# You will need to have the directories containing the Mantid -# .so libraries in your LD_LIBRARY_PATH environment variable -# -# Author: Owen Arnold 02/12/2010 -# - -# Clean up any old executable -rm -rf runner.* - -echo "Generating the source file from the test header files..." -# Chaining all tests together can have effects that you don't think of -# - it's always a good idea to run your new/changed test on its own -test_files="" -if [ $# -eq 0 ]; then - test_files=*.h -else - test_files=$* -fi - -cxxtestgen=../../../../Third_Party/src/cxxtest/cxxtestgen.py -python $cxxtestgen --runner=MantidPrinter -o runner.cpp $test_files - - -echo "Compiling the test executable..." - -#TODO set path properly -mantid_libpath=~/workspace/MantidDebug/bin -#TODO set path properly -vtk_libpath=/usr/local/2.1.1/linux-x86_64/lib -#TODO set path properly -gmock_libpath=../../../TestingTools/lib/ubuntu-10.10 - -g++ -O0 -g3 -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -o runner.exe runner.cpp -I../../../Framework/Kernel/inc -I../../../Framework/MDAlgorithms/inc -I../../../Framework/API/inc -I../inc/VisitPlugins -I/usr/local/2.1.1/linux-x86_64/include/vtk/include/vtk-5.0 -I../../../Framework/Geometry/inc -I ../inc \ - -I ../../../../Third_Party/src/cxxtest -I ../../../../Third_Party/include -I ../../../TestingTools/include -L$vtk_libpath -L$mantid_libpath -L$gmock_libpath -lvtkCommon -lvtkFiltering -lMantidKernel -lMantidGeometry -lMantidAPI -lboost_date_time-mt -lgmock -lMantidMDAlgorithms -lMantidDataObjects -lMantidVisitPresenters -lhdf5 -Wno-deprecated - -echo - -echo "Running the tests..." -ln ../../../Framework/Build/Tests/*.properties . -LD_LIBRARY_PATH=$vtk_libpath:$mantid_libpath:$LD_LIBRARY_PATH ./runner.exe -#valgrind --leak-check=full --show-reachable=yes --track-origins=yes ~/mantid/Code/Vates/VisitPresenters/test/runner.exe -echo - -# Remove the generated files to ensure that they're not inadvertently run -# when something in the chain has failed. -echo "Cleaning up..." -rm -f *.properties -rm -f *Test.log -rm -f *.so -echo "Done." From be9daee5756776a78759983629b2d8d2c9b43550 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Thu, 12 Feb 2015 16:39:17 +0000 Subject: [PATCH 012/112] Clean up a screenshot after the test Refs #10870 --- Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py b/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py index a3f7a0e3a8f7..27961933c3f1 100644 --- a/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py +++ b/Code/Mantid/MantidPlot/test/MantidPlotSliceViewerTest.py @@ -113,10 +113,14 @@ def test_saveImage(self): if not dest is None: filename = "SliceViewerSaveImage" filepath = os.path.join(dest, filename+".png") + # Remove any old file + if os.path.isfile(filepath): + os.remove(filepath) + # Save svw.saveImage(filepath) self.assertEquals(os.path.isfile(filepath), True, "Screenshot was not written out as expected.") - if file_exists: + if os.path.isfile(filepath): os.remove(filepath) def test_showLine(self): From f1ba93a9240bf912a93d1b422e40be3f5e57197f Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Fri, 13 Feb 2015 10:33:12 +0000 Subject: [PATCH 013/112] Use a driver script for the system tests Avoids duplication of job configuration on the server. Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 8 +-- Code/Mantid/Build/Jenkins/systemtests | 71 +++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 6 deletions(-) create mode 100755 Code/Mantid/Build/Jenkins/systemtests diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index b1899d337d4a..2558d3ecbcff 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -9,6 +9,7 @@ # BUILD_THREADS & PARAVIEW_DIR should be set in the configuration of each # slave. ############################################################################### +SCRIPT_DIR=$(dirname $(readlink -f "$0")) ############################################################################### # Print out the versions of things we are using @@ -203,10 +204,5 @@ fi # from a package to have at least one Linux checks it install okay ############################################################################### if [[ "${ON_RHEL6}" == true ]] && [[ ${JOB_NAME} == *pull_requests* ]]; then - PKGDIR=${WORKSPACE}/build - # Turn off usage reports and instrument downloading for the mantid call - # that creates the properties file - echo "UpdateInstrumentDefinitions.OnStartup = 0" > $userprops - echo "usagereports.enabled = 0" >> $userprops - python $WORKSPACE/Code/Mantid/Testing/SystemTests/scripts/InstallerTesting.py -o -d $PKGDIR + $SCRIPT_DIR/systemtests fi diff --git a/Code/Mantid/Build/Jenkins/systemtests b/Code/Mantid/Build/Jenkins/systemtests new file mode 100755 index 000000000000..5a792bdf1e41 --- /dev/null +++ b/Code/Mantid/Build/Jenkins/systemtests @@ -0,0 +1,71 @@ +#!/bin/bash -ex +############################################################################### +# LINUX/MAC SCRIPT TO DRIVE THE SYSTEM TESTS OF MANTID +# +# Notes: +# +# WORKSPACE, JOB_NAME, NODE_LABEL GIT_COMMIT are environment variables that +# are set by Jenkins. The last one corresponds to any labels set on a slave. +############################################################################### + +############################################################################### +# Print out the versions of things we are using +############################################################################### +cmake --version +echo "SHA1=${sha1}" + +############################################################################### +# Set up the location for the local object store outside of the build and +# source tree, which can be shared by multiple builds. +# It defaults to the parent directory of the workspace but can be overridden +# by setting the MANTID_DATA_STORE environment variable. +############################################################################### +if [ -z "$MANTID_DATA_STORE" ]; then + export MANTID_DATA_STORE=$(dirname $WORKSPACE) +fi + +############################################################################### +# RHEL6 setup steps - nodes must have a "rhel6" label set (in lowercase) +############################################################################### +if [[ ${NODE_LABELS} == *rhel6* ]]; then + SCL_ON_RHEL6="scl enable mantidlibs" + ON_RHEL6=true +else + SCL_ON_RHEL6="eval" +fi + +############################################################################### +# Create the build directory if it doesn't exist +############################################################################### +[ -d $WORKSPACE/build ] || mkdir $WORKSPACE/build +cd $WORKSPACE/build + +############################################################################### +# CMake configuration if it has not already been configured +# We use the special flag that only creates the targets for the data +############################################################################### +if [[ ! -e $WORKSPACE/build/CMakeCache.txt ]]; then + $SCL_ON_RHEL6 "cmake -DMANTID_DATA_STORE=${MANTID_DATA_STORE} -DTESTING_DATA_ONLY=ON ../Code/Mantid" +fi + +############################################################################### +# Build step +############################################################################### +$SCL_ON_RHEL6 "cmake --build . -- StandardTestData" +$SCL_ON_RHEL6 "cmake --build . -- SystemTestData" + +############################################################################### +# Run the tests +############################################################################### +# Remove any Mantid.user.properties file +userprops=~/.mantid/Mantid.user.properties +rm -f $userprops +# Turn off usage reports and instrument downloading for the mantid call +# that creates the properties file +echo "UpdateInstrumentDefinitions.OnStartup = 0" > $userprops +echo "usagereports.enabled = 0" >> $userprops + +# Run +PKGDIR=${WORKSPACE}/build +python $WORKSPACE/Code/Mantid/Testing/SystemTests/scripts/InstallerTests.py -o -d $PKGDIR + From c1bc081d8715e77120ae39eaa1f178f814b70f3f Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Fri, 13 Feb 2015 12:08:39 +0000 Subject: [PATCH 014/112] Add cmake option to only create data targets This is useful for the standalone system tests that won't necessarily have all of the Mantid build dependencies installed. Refs #10870 --- Code/Mantid/Build/CMake/CommonSetup.cmake | 31 +----------------- .../Mantid/Build/CMake/SetupDataTargets.cmake | 32 +++++++++++++++++++ Code/Mantid/Build/Jenkins/systemtests | 4 +-- Code/Mantid/CMakeLists.txt | 13 +++++++- 4 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 Code/Mantid/Build/CMake/SetupDataTargets.cmake diff --git a/Code/Mantid/Build/CMake/CommonSetup.cmake b/Code/Mantid/Build/CMake/CommonSetup.cmake index 67414eae8559..10625001e3b6 100644 --- a/Code/Mantid/Build/CMake/CommonSetup.cmake +++ b/Code/Mantid/Build/CMake/CommonSetup.cmake @@ -305,36 +305,7 @@ endif() # External Data for testing ########################################################################### if ( CXXTEST_FOUND OR PYUNITTEST_FOUND ) - include ( MantidExternalData ) - - # None of our tests reference files directly as arguments so we have to manually - # call ExternalData_Expand_Arguments to register the files with the ExternalData - # mechanism - function(_create_data_target _targetname _content_link_patterns) - get_filename_component ( EXTERNALDATATEST_SOURCE_DIR ${PROJECT_SOURCE_DIR} ABSOLUTE ) - foreach(_pattern ${_content_link_patterns}) - file( GLOB_RECURSE _content_links - RELATIVE "${EXTERNALDATATEST_SOURCE_DIR}" ${_pattern} ) - foreach(link ${_content_links}) - string( REGEX REPLACE "\\.md5$" "" link ${link} ) - ExternalData_Expand_Arguments( ${_targetname} - link_location - DATA{${link}} - ) - endforeach() - endforeach() - # Create target to download data from the StandardTestData group. This must come after - # all tests have been added that reference the group, so we put it last. - ExternalData_Add_Target(${_targetname}) - set_target_properties(${_targetname} PROPERTIES EXCLUDE_FROM_ALL TRUE) - endfunction() - - # We'll create two targets: - # - StandardTestData: data required by the unit tests and documentation tests - # - SystemTestData: data required for the system tests - _create_data_target(StandardTestData "Testing/Data/DocTest/*.md5;Testing/Data/UnitTest/*.md5") - _create_data_target(SystemTestData "Testing/Data/SystemTest/*.md5;Testing/SystemTests/tests/analysis/reference/*.md5") - + include( SetupDataTargets ) endif() ########################################################################### diff --git a/Code/Mantid/Build/CMake/SetupDataTargets.cmake b/Code/Mantid/Build/CMake/SetupDataTargets.cmake new file mode 100644 index 000000000000..8f8a87e1e291 --- /dev/null +++ b/Code/Mantid/Build/CMake/SetupDataTargets.cmake @@ -0,0 +1,32 @@ +########################################################################### +# Define targets to download the data +########################################################################### +include ( MantidExternalData ) + +# None of our tests reference files directly as arguments so we have to manually +# call ExternalData_Expand_Arguments to register the files with the ExternalData +# mechanism +function(_create_data_target _targetname _content_link_patterns) + get_filename_component ( EXTERNALDATATEST_SOURCE_DIR ${PROJECT_SOURCE_DIR} ABSOLUTE ) + foreach(_pattern ${_content_link_patterns}) + file( GLOB_RECURSE _content_links + RELATIVE "${EXTERNALDATATEST_SOURCE_DIR}" ${_pattern} ) + foreach(link ${_content_links}) + string( REGEX REPLACE "\\.md5$" "" link ${link} ) + ExternalData_Expand_Arguments( ${_targetname} + link_location + DATA{${link}} + ) + endforeach() + endforeach() + # Create target to download data from the StandardTestData group. This must come after + # all tests have been added that reference the group, so we put it last. + ExternalData_Add_Target(${_targetname}) + set_target_properties(${_targetname} PROPERTIES EXCLUDE_FROM_ALL TRUE) +endfunction() + +# We'll create two targets: +# - StandardTestData: data required by the unit tests and documentation tests +# - SystemTestData: data required for the system tests +_create_data_target(StandardTestData "Testing/Data/DocTest/*.md5;Testing/Data/UnitTest/*.md5") +_create_data_target(SystemTestData "Testing/Data/SystemTest/*.md5;Testing/SystemTests/tests/analysis/reference/*.md5") diff --git a/Code/Mantid/Build/Jenkins/systemtests b/Code/Mantid/Build/Jenkins/systemtests index 5a792bdf1e41..5ced2d5bd7dc 100755 --- a/Code/Mantid/Build/Jenkins/systemtests +++ b/Code/Mantid/Build/Jenkins/systemtests @@ -41,11 +41,11 @@ fi cd $WORKSPACE/build ############################################################################### -# CMake configuration if it has not already been configured +# CMake configuration if it has not already been configured. # We use the special flag that only creates the targets for the data ############################################################################### if [[ ! -e $WORKSPACE/build/CMakeCache.txt ]]; then - $SCL_ON_RHEL6 "cmake -DMANTID_DATA_STORE=${MANTID_DATA_STORE} -DTESTING_DATA_ONLY=ON ../Code/Mantid" + $SCL_ON_RHEL6 "cmake -DMANTID_DATA_STORE=${MANTID_DATA_STORE} -DDATA_TARGETS_ONLY=ON ../Code/Mantid" fi ############################################################################### diff --git a/Code/Mantid/CMakeLists.txt b/Code/Mantid/CMakeLists.txt index 673bd4b295ca..d91951ed788a 100644 --- a/Code/Mantid/CMakeLists.txt +++ b/Code/Mantid/CMakeLists.txt @@ -12,6 +12,17 @@ set ( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Build/CMake") # Define the project name. project ( Mantid ) + +########################################################################### +# Quick exit if we only want data targets +########################################################################### +if( DATA_TARGETS_ONLY ) + include( SetupDataTargets ) + # System test config files + add_subdirectory( Testing/SystemTests/scripts ) + return() +endif() + set ( CPACK_PACKAGE_SUFFIX "" CACHE STRING "suffix used to determine the deployment type") set_property(CACHE CPACK_PACKAGE_SUFFIX PROPERTY STRINGS nightly unstable "") #empty string and release are treated as the same thing @@ -147,7 +158,7 @@ add_subdirectory ( scripts ) add_subdirectory ( docs ) -# System tests +# System test data target add_subdirectory ( Testing/SystemTests/scripts ) ########################################################################### From 1752fc2fe186490921b7ead2a32be003dedcd4db Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Fri, 13 Feb 2015 15:00:32 +0000 Subject: [PATCH 015/112] Add first test to try things out. Refs #10870 --- .../Testing/Data/SystemTest/HRP39187.RAW.md5 | 1 + .../Testing/Data/SystemTest/HRP39191.RAW.md5 | 1 + .../SystemTest/hrpd_new_072_01_corr.cal.md5 | 1 + .../tests/analysis/HRPDPowderDiffraction.py | 75 +++++++++++++++++++ .../reference/HRPDPowderDiffraction.nxs.md5 | 1 + 5 files changed, 79 insertions(+) create mode 100644 Code/Mantid/Testing/Data/SystemTest/HRP39187.RAW.md5 create mode 100644 Code/Mantid/Testing/Data/SystemTest/HRP39191.RAW.md5 create mode 100644 Code/Mantid/Testing/Data/SystemTest/hrpd_new_072_01_corr.cal.md5 create mode 100644 Code/Mantid/Testing/SystemTests/tests/analysis/HRPDPowderDiffraction.py create mode 100644 Code/Mantid/Testing/SystemTests/tests/analysis/reference/HRPDPowderDiffraction.nxs.md5 diff --git a/Code/Mantid/Testing/Data/SystemTest/HRP39187.RAW.md5 b/Code/Mantid/Testing/Data/SystemTest/HRP39187.RAW.md5 new file mode 100644 index 000000000000..6736dcddd7b0 --- /dev/null +++ b/Code/Mantid/Testing/Data/SystemTest/HRP39187.RAW.md5 @@ -0,0 +1 @@ +6aa506e83ba085964781b480d71c59fe diff --git a/Code/Mantid/Testing/Data/SystemTest/HRP39191.RAW.md5 b/Code/Mantid/Testing/Data/SystemTest/HRP39191.RAW.md5 new file mode 100644 index 000000000000..d9d1923775b2 --- /dev/null +++ b/Code/Mantid/Testing/Data/SystemTest/HRP39191.RAW.md5 @@ -0,0 +1 @@ +e422e2456884b0bd4c686e5d883f9d57 diff --git a/Code/Mantid/Testing/Data/SystemTest/hrpd_new_072_01_corr.cal.md5 b/Code/Mantid/Testing/Data/SystemTest/hrpd_new_072_01_corr.cal.md5 new file mode 100644 index 000000000000..37c71d5dbfe1 --- /dev/null +++ b/Code/Mantid/Testing/Data/SystemTest/hrpd_new_072_01_corr.cal.md5 @@ -0,0 +1 @@ +21f937d9b1bfc5032d3fbf8f85920c15 diff --git a/Code/Mantid/Testing/SystemTests/tests/analysis/HRPDPowderDiffraction.py b/Code/Mantid/Testing/SystemTests/tests/analysis/HRPDPowderDiffraction.py new file mode 100644 index 000000000000..7ed7c9ccaa7d --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/tests/analysis/HRPDPowderDiffraction.py @@ -0,0 +1,75 @@ +import stresstesting +from mantid.simpleapi import * + +''' Simply tests that our LoadRaw and LoadISISNexus algorithms produce the same workspace''' +class HRPDPowderDiffraction(stresstesting.MantidStressTest): + + def requiredFiles(self): + return ["HRP39191.RAW", "hrpd_new_072_01_corr.cal", "HRP39187.RAW", 'HRPDPowderDiffraction.nxs'] + + def runTest(self): + #Load the Vanadium + LoadRaw(Filename="HRP39191.RAW",OutputWorkspace="Vanadium") + #mask out the vanadium peaks + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="19970",XMax="20140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="39970",XMax="40140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="59970",XMax="60140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="79970",XMax="80140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="99970",XMax="100140") + #align vanadium detectors + AlignDetectors(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",CalibrationFile="hrpd_new_072_01_corr.cal") + #normalise by current + NormaliseByCurrent(InputWorkspace="Vanadium",OutputWorkspace="Vanadium") + #correct for solid angle + SolidAngle(InputWorkspace="Vanadium",OutputWorkspace="Corr") + Divide(LHSWorkspace="Vanadium",RHSWorkspace="Corr",OutputWorkspace="Vanadium") + #Multiply the solid angle by the integrated vanadium flux between 1.4 and 3 Angstrom + ConvertUnits(InputWorkspace="Vanadium",OutputWorkspace="flux",Target="Wavelength") + Integration(InputWorkspace="flux",OutputWorkspace="flux",RangeLower="1.4",RangeUpper="3") + Multiply(LHSWorkspace="Corr",RHSWorkspace="flux",OutputWorkspace="Corr") + #adjust the correction down by a factor of 1000 + CreateSingleValuedWorkspace(OutputWorkspace="Sc",DataValue="1000") + Divide(LHSWorkspace="Corr",RHSWorkspace="Sc",OutputWorkspace="Corr") + #Load the Vanadium - a second time + LoadRaw(Filename="HRP39191.RAW",OutputWorkspace="Vanadium") + #mask out the vanadium peaks + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="19970",XMax="20140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="39970",XMax="40140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="59970",XMax="60140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="79970",XMax="80140") + MaskBins(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",XMin="99970",XMax="100140") + #align vanadium detectors + AlignDetectors(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",CalibrationFile="hrpd_new_072_01_corr.cal") + #normalise by current + NormaliseByCurrent(InputWorkspace="Vanadium",OutputWorkspace="Vanadium") + #correct by accumulated correction - solid angle/(1000*flux(1.4 - 3 Angstrom)) + Divide(LHSWorkspace="Vanadium",RHSWorkspace="Corr",OutputWorkspace="Vanadium") + #Load the vanadium empty + LoadRaw(Filename="HRP39187.RAW",OutputWorkspace="VEmpty") + #mask out the vanadium peaks + MaskBins(InputWorkspace="VEmpty",OutputWorkspace="VEmpty",XMin="19970",XMax="20140") + MaskBins(InputWorkspace="VEmpty",OutputWorkspace="VEmpty",XMin="39970",XMax="40140") + MaskBins(InputWorkspace="VEmpty",OutputWorkspace="VEmpty",XMin="59970",XMax="60140") + MaskBins(InputWorkspace="VEmpty",OutputWorkspace="VEmpty",XMin="79970",XMax="80140") + MaskBins(InputWorkspace="VEmpty",OutputWorkspace="VEmpty",XMin="99970",XMax="100140") + #align vanadium empty detectors + AlignDetectors(InputWorkspace="VEmpty",OutputWorkspace="VEmpty",CalibrationFile="hrpd_new_072_01_corr.cal") + #correct by accumulated correction - solid angle/(1000*flux(1.4 - 3 Angstrom)) + Divide(LHSWorkspace="VEmpty",RHSWorkspace="Corr",OutputWorkspace="VEmpty") + #normalise by current + NormaliseByCurrent(InputWorkspace="VEmpty",OutputWorkspace="VEmpty") + #Subtract Vanadium empty from the Vanadium + Minus(LHSWorkspace="Vanadium",RHSWorkspace="VEmpty",OutputWorkspace="Vanadium") + #Convert to wavelength + ConvertUnits(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",Target="Wavelength") + #Correct for cylinderAbsorption + CylinderAbsorption(InputWorkspace="Vanadium",OutputWorkspace="Transmission",CylinderSampleHeight="2",CylinderSampleRadius="0.4",AttenuationXSection="5.1",ScatteringXSection="5.08",SampleNumberDensity="0.072",NumberOfSlices="10",NumberOfAnnuli="10",NumberOfWavelengthPoints="100") + Divide(LHSWorkspace="Vanadium",RHSWorkspace="Transmission",OutputWorkspace="Vanadium") + #convert to dspacing and focuss + ConvertUnits(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",Target="dSpacing") + DiffractionFocussing(InputWorkspace="Vanadium",OutputWorkspace="Vanadium",GroupingFileName="hrpd_new_072_01_corr.cal") + + def validate(self): + # Fitting parameters not saved to ParameterMap + self.disableChecking.append("Instrument") + return 'Vanadium','HRPDPowderDiffraction.nxs' diff --git a/Code/Mantid/Testing/SystemTests/tests/analysis/reference/HRPDPowderDiffraction.nxs.md5 b/Code/Mantid/Testing/SystemTests/tests/analysis/reference/HRPDPowderDiffraction.nxs.md5 new file mode 100644 index 000000000000..0cc9b76c87b6 --- /dev/null +++ b/Code/Mantid/Testing/SystemTests/tests/analysis/reference/HRPDPowderDiffraction.nxs.md5 @@ -0,0 +1 @@ +078a0d8d4c9f0aa5b2ece6099e13b0b9 From 5db99b85456a8054564625b06025536770a344b1 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Fri, 13 Feb 2015 15:40:28 +0000 Subject: [PATCH 016/112] Reorganise the windows built script so the order matches the Unix one Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript.bat | 77 ++++++++++++++--------- 1 file changed, 49 insertions(+), 28 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index f861162c87c9..bdc52542d22c 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -10,19 +10,6 @@ "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" --version echo %sha1% -::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Check the required build configuration -::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set BUILD_CONFIG= -if not "%JOB_NAME%"=="%JOB_NAME:debug=%" ( - set BUILD_CONFIG=Debug -) else ( -if not "%JOB_NAME%"=="%JOB_NAME:relwithdbg=%" ( - set BUILD_CONFIG=RelWithDbg -) else ( - set BUILD_CONFIG=Release - )) - ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Get or update the third party dependencies ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -43,23 +30,52 @@ if NOT DEFINED MANTID_DATA_STORE ( ) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Check whether this is a clean build (must have 'clean' in the job name) +:: Check job requirements from the name ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -set PACKAGE_DOCS= if "%JOB_NAME%"=="%JOB_NAME:clean=%" ( - set CLEANBUILD=no -) else ( - set CLEANBUILD=yes - set PACKAGE_DOCS=-DPACKAGE_DOCS=True - rmdir /S /Q build + set CLEANBUILD=yes + set BUILDPKG=yes +) +if "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( + set BUILDPKG=yes +) + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Packaging options +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +set PACKAGE_DOCS= +if "%BUILDPKG%" EQU "yes" ( + set PACKAGE_DOCS=-DPACKAGE_DOCS=ON ) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Create the build directory if it doesn't exist +:: Setup the build directory ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +if "%CLEANBUILD%" EQU "yes" ( + rmdir /S /Q %WORKSPACE%\build +) md %WORKSPACE%\build cd %WORKSPACE%\build +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Clean up any artifacts from last build so that if it fails +:: they don't get archived again. +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +del *.exe + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Check the required build configuration +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +set BUILD_CONFIG= +if not "%JOB_NAME%"=="%JOB_NAME:debug=%" ( + set BUILD_CONFIG=Debug +) else ( +if not "%JOB_NAME%"=="%JOB_NAME:relwithdbg=%" ( + set BUILD_CONFIG=RelWithDbg +) else ( + set BUILD_CONFIG=Release + )) + ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: CMake configuration ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -75,17 +91,22 @@ if ERRORLEVEL 1 exit /B %ERRORLEVEL% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Run the tests ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +# Remove the user properties file just in case anything polluted it +set USERPROPS=bin\%BUILD_CONFIG%\Mantid.user.properties +del %USERPROPS% "C:\Program Files (x86)\CMake 2.8\bin\ctest.exe" -C %BUILD_CONFIG% -j%BUILD_THREADS% --schedule-random --output-on-failure if ERRORLEVEL 1 exit /B %ERRORLEVEL% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Create the install kit if this is a clean build +:: Create the install kit if required ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%CLEANBUILD%" EQU "yes" ( - :: Build offline documentation - msbuild /nologo /nr:false /p:Configuration=%BUILD_CONFIG% docs/docs-qthelp.vcxproj +if "%BUILDPKG%" EQU "yes" ( + :: Build offline documentation + msbuild /nologo /nr:false /p:Configuration=%BUILD_CONFIG% docs/docs-qthelp.vcxproj - :: ignore errors as the exit code of the build isn't correct - ::if ERRORLEVEL 1 exit /B %ERRORLEVEL% - cpack -C %BUILD_CONFIG% --config CPackConfig.cmake + :: Ignore errors as the exit code of msbuild is wrong here. + :: It always marks the build as a failure even thought the MantidPlot exit + :: code is correct! + ::if ERRORLEVEL 1 exit /B %ERRORLEVEL% + cpack -C %BUILD_CONFIG% --config CPackConfig.cmake ) From 5c96dae1ac54cac86671b32e471c8ec2ae8ba81c Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Sun, 15 Feb 2015 08:28:09 +0000 Subject: [PATCH 017/112] Alter the mantidinstaller script to be able to run standalone. It already contains the logic to install/uninstall Mantid so we don't want to duplicate it for the Windows build script Refs #10870 --- .../SystemTests/scripts/mantidinstaller.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py index f78094738b9d..e365ed240559 100644 --- a/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py +++ b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py @@ -23,6 +23,8 @@ def stop(installer): def log(txt): ''' Write text to the script log file ''' + if scriptLog is None: + return if txt and len(txt) > 0: scriptLog.write(txt) if not txt.endswith('\n'): @@ -242,3 +244,32 @@ def do_install(self): def do_uninstall(self): run('sudo rm -fr /Applications/MantidPlot.app/') + +#------------------------------------------------------------------------------- +# Main +#------------------------------------------------------------------------------- +# If called as a standalone script then this can be used to install/uninstall +# Mantid +if __name__ == "__main__": + import optparse + parser = optparse.OptionParser("Usage: %prog ", + description="Commands available: install, uninstall") + (options, args) = parser.parse_args() + # All arguments are required + if len(args) != 2: + parser.print_help() + sys.exit(1) + + command, package_dir = args[0], args[1] + package_dir = os.path.abspath(package_dir) + print package_dir + installer = get_installer(package_dir) + if command.lower() == "install": + print "Installing package '%s'" % installer.mantidInstaller + installer.install() + elif command.lower() == "uninstall": + print "Removing package '%s'" % installer.mantidInstaller + installer.uninstall() + else: + raise RuntimeError("Invalid command '%s'. Options are: install, uninstall" % command) + From 2c544868a426d78d9b8f331f93fb4705db6af5f6 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Sun, 15 Feb 2015 11:20:17 +0000 Subject: [PATCH 018/112] Merge parts of script that deal with the clean build Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index 2558d3ecbcff..6a4ffd903096 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -86,14 +86,6 @@ if [[ ${JOB_NAME} == *pull_requests* ]]; then BUILDPKG=true fi -############################################################################### -# Clean build directory if required -############################################################################### -if [[ "$CLEANBUILD" == true ]]; then - # Removing the build directory entirely guarantees a completely clean build - rm -rf $WORKSPACE/build -fi - ############################################################################### # Packaging options ############################################################################### @@ -115,8 +107,11 @@ if [[ "$BUILDPKG" == true ]]; then fi ############################################################################### -# Create the build directory if it doesn't exist +# Setup the build directory ############################################################################### +if [[ "$CLEANBUILD" == true ]]; then + rm -rf $WORKSPACE/build +fi [ -d $WORKSPACE/build ] || mkdir $WORKSPACE/build cd $WORKSPACE/build From 007bf35428c070070286297c4aa4c0d45f71bd1c Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Sun, 15 Feb 2015 11:22:06 +0000 Subject: [PATCH 019/112] Add documentation tests to Windows pull request build Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript.bat | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index bdc52542d22c..b260bb128654 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -110,3 +110,21 @@ if "%BUILDPKG%" EQU "yes" ( ::if ERRORLEVEL 1 exit /B %ERRORLEVEL% cpack -C %BUILD_CONFIG% --config CPackConfig.cmake ) + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Run the doc tests when doing a pull request build. Run from a package +:: from a package to have at least one Linux checks it install okay +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +if "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( + set SYSTEMTEST_DIR=%WORKSPACE%\Code\Mantid\Testing\SystemTest + :: Install package + python %SYSTEMTEST_DIR%\scripts\mantidinstaller.py install %WORKSPACE%\build + cd %WORKSPACE%\build\docs + :: Run tests + C:\MantidInstall\bin\MantidPlot.exe -xq runsphinx_doctest.py + if ERRORLEVEl 1 exit /B %ERRORLEVEL% + :: Remove + cd %WORKSPACE%\build + python %SYSTEMTEST_DIR%\scripts\mantidinstaller.py uninstall %WORKSPACE%\build +) + From 759f9820901cce5155b687597cca0ec2e4700ed6 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Sun, 15 Feb 2015 18:27:38 +0000 Subject: [PATCH 020/112] Move default external data location to HOME Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 6 +++--- Code/Mantid/Build/Jenkins/buildscript.bat | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index 6a4ffd903096..fe0dd370e919 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -58,11 +58,11 @@ fi ############################################################################### # Set up the location for the local object store outside of the build and # source tree, which can be shared by multiple builds. -# It defaults to the parent directory of the workspace but can be overridden -# by setting the MANTID_DATA_STORE environment variable. +# It defaults to a MantidExternalData directory within the HOME directory. +# It can be overridden by setting the MANTID_DATA_STORE environment variable. ############################################################################### if [ -z "$MANTID_DATA_STORE" ]; then - export MANTID_DATA_STORE=$(dirname $WORKSPACE) + export MANTID_DATA_STORE=$HOME/MantidExternalData fi ############################################################################### diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index b260bb128654..766b7efbb126 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -22,11 +22,12 @@ set PATH=%WORKSPACE%\Code\Third_Party\lib\win64;%WORKSPACE%\Code\Third_Party\lib ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Set up the location for local object store outside of the build and source :: tree, which can be shared by multiple builds. -:: It defaults to the parent directory of the workspace but can be overridden -:: by setting the MANTID_DATA_STORE environment variable. +:: It defaults to a MantidExternalData directory within the USERPROFILE +:: directory. It can be overridden by setting the MANTID_DATA_STORE environment +:: variable. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: if NOT DEFINED MANTID_DATA_STORE ( - for %%F in ("%WORKSPACE%") do set MANTID_DATA_STORE=%%~dpF + set MANTID_DATA_STORE=%USERPROFILE%\MantidExternalData ) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: From d0c3785bb25d53d6e58aeff38b5da6cc94f7f627 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Sun, 15 Feb 2015 18:29:16 +0000 Subject: [PATCH 021/112] Temporary rule to remove build directory if old layout in use Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 9 +++++++++ Code/Mantid/Build/Jenkins/buildscript.bat | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index fe0dd370e919..fa12e930d27b 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -82,6 +82,15 @@ if [[ ${JOB_NAME} == *clean* ]]; then CLEANBUILD=true BUILDPKG=true fi + +if [[ -e $WORKSPACE/build/CMakeCache.txt ]] + # Temporary while the builds flick between old & new TestingTools locations + grep 'Code/Mantid/TestingTools/cxxtest' $WORKSPACE/build/CMakeCache.txt > /dev/null + if [ $? -eq 0 ]; then + rm -fr $WORKSPACE/build + fi +fi + if [[ ${JOB_NAME} == *pull_requests* ]]; then BUILDPKG=true fi diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index 766b7efbb126..1489530f8573 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -37,6 +37,14 @@ if "%JOB_NAME%"=="%JOB_NAME:clean=%" ( set CLEANBUILD=yes set BUILDPKG=yes ) + +if EXIST %WORKSPACE%\build\CMakeCache.txt ( + TYPE %WORKSPACE%\build\CMakeCache.txt | FINDSTR "Code/Mantid/TestingTools/cxxtest" + if %ERRORLEVEL% EQU 0 ( + rmdir /S /Q %WORKSPACE%\build + ) +) + if "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( set BUILDPKG=yes ) From efb1f91b6cf7c913f64acf4ae041aef22dab019a Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Sun, 15 Feb 2015 20:39:24 +0000 Subject: [PATCH 022/112] Fix errors in build script Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 2 +- Code/Mantid/Build/Jenkins/buildscript.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index fa12e930d27b..3259bf2ae6d1 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -83,7 +83,7 @@ if [[ ${JOB_NAME} == *clean* ]]; then BUILDPKG=true fi -if [[ -e $WORKSPACE/build/CMakeCache.txt ]] +if [[ -e $WORKSPACE/build/CMakeCache.txt ]]; then # Temporary while the builds flick between old & new TestingTools locations grep 'Code/Mantid/TestingTools/cxxtest' $WORKSPACE/build/CMakeCache.txt > /dev/null if [ $? -eq 0 ]; then diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index 1489530f8573..151378aa1c70 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -70,7 +70,7 @@ cd %WORKSPACE%\build :: Clean up any artifacts from last build so that if it fails :: they don't get archived again. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -del *.exe +del /Q *.exe ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Check the required build configuration From bb2726ec76c284b76f552a543c68155446d8e5ea Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Sun, 15 Feb 2015 20:46:17 +0000 Subject: [PATCH 023/112] Don't use readlink in buildscript. The OS X version doesn't support the same options as GNU readline Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index 3259bf2ae6d1..d4cdf2f66f07 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -9,7 +9,7 @@ # BUILD_THREADS & PARAVIEW_DIR should be set in the configuration of each # slave. ############################################################################### -SCRIPT_DIR=$(dirname $(readlink -f "$0")) +SCRIPT_DIR=$(dirname "$0") ############################################################################### # Print out the versions of things we are using From 716b62eda1327be30119a2de8a1b54e9455d87ca Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 08:49:20 +0000 Subject: [PATCH 024/112] Ignore grep return code and compare the output The build scripts are run such that any non-zero return code exits the script immediately. Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript b/Code/Mantid/Build/Jenkins/buildscript index d4cdf2f66f07..2418323e4320 100755 --- a/Code/Mantid/Build/Jenkins/buildscript +++ b/Code/Mantid/Build/Jenkins/buildscript @@ -85,8 +85,8 @@ fi if [[ -e $WORKSPACE/build/CMakeCache.txt ]]; then # Temporary while the builds flick between old & new TestingTools locations - grep 'Code/Mantid/TestingTools/cxxtest' $WORKSPACE/build/CMakeCache.txt > /dev/null - if [ $? -eq 0 ]; then + TESTINGTOOLS_DIR=$(grep 'Code/Mantid/TestingTools/cxxtest' $WORKSPACE/build/CMakeCache.txt || true) + if [ ! -z "$TESTINGTOOLS_DIR" ]; then rm -fr $WORKSPACE/build fi fi From 0bb3ef24a7b374ae237eeece07ab549741323f26 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Mon, 16 Feb 2015 09:28:52 +0000 Subject: [PATCH 025/112] Initial work on UI for CalculateSampleTrenamission algo Refs #11072 --- .../MantidQt/CustomInterfaces/CMakeLists.txt | 4 + .../SampleTransmission.h | 55 ++++++ .../SampleTransmission.ui | 187 ++++++++++++++++++ .../src/SampleTransmission.cpp | 107 ++++++++++ 4 files changed, 353 insertions(+) create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp diff --git a/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt b/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt index dd7c0b528b97..ea898a3f890a 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt +++ b/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt @@ -63,6 +63,7 @@ set ( SRC_FILES src/ReflLegacyTransferStrategy.cpp src/ReflMainViewPresenter.cpp src/ReflSearchModel.cpp + src/SampleTransmission.cpp src/SANSAddFiles.cpp src/SANSDiagnostics.cpp src/SANSEventSlicing.cpp @@ -151,6 +152,7 @@ set ( INC_FILES inc/MantidQtCustomInterfaces/QReflTableModel.h inc/MantidQtCustomInterfaces/QtReflMainView.h inc/MantidQtCustomInterfaces/QtReflOptionsDialog.h + inc/MantidQtCustomInterfaces/SampleTransmission.h inc/MantidQtCustomInterfaces/SANSAddFiles.h inc/MantidQtCustomInterfaces/SANSDiagnostics.h inc/MantidQtCustomInterfaces/SANSEventSlicing.h @@ -223,6 +225,7 @@ set ( MOC_FILES inc/MantidQtCustomInterfaces/Background.h inc/MantidQtCustomInterfaces/QReflTableModel.h inc/MantidQtCustomInterfaces/QtReflMainView.h inc/MantidQtCustomInterfaces/QtReflOptionsDialog.h + inc/MantidQtCustomInterfaces/SampleTransmission.h inc/MantidQtCustomInterfaces/SANSAddFiles.h inc/MantidQtCustomInterfaces/SANSPlotSpecial.h inc/MantidQtCustomInterfaces/SANSRunWindow.h @@ -273,6 +276,7 @@ set ( UI_FILES inc/MantidQtCustomInterfaces/AddWorkspace.ui inc/MantidQtCustomInterfaces/ReflMainWidget.ui inc/MantidQtCustomInterfaces/ReflOptionsDialog.ui inc/MantidQtCustomInterfaces/ReflWindow.ui + inc/MantidQtCustomInterfaces/SampleTransmission.ui inc/MantidQtCustomInterfaces/SANSPlotSpecial.ui inc/MantidQtCustomInterfaces/SANSRunWindow.ui inc/MantidQtCustomInterfaces/SANSEventSlicing.ui diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h new file mode 100644 index 000000000000..7b4f1a931193 --- /dev/null +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h @@ -0,0 +1,55 @@ +#ifndef MANTIDQTCUSTOMINTERFACES_SAMPLETRANSMISSION_H_ +#define MANTIDQTCUSTOMINTERFACES_SAMPLETRANSMISSION_H_ + +//---------------------- +// Includes +//---------------------- +#include "ui_SampleTransmission.h" +#include "MantidQtAPI/AlgorithmRunner.h" +#include "MantidQtAPI/UserSubWindow.h" +#include "MantidQtAPI/WorkspaceObserver.h" +#include "MantidAPI/MatrixWorkspace.h" + + +namespace MantidQt +{ +namespace CustomInterfaces +{ + class SampleTransmission : public MantidQt::API::UserSubWindow + { + Q_OBJECT + + public: + /// The name of the interface as registered into the factory + static std::string name() { return "Sample Transmission Calculator"; } + // This interface's categories. + static QString categoryInfo() { return "General"; } + + public: + /// Default Constructor + SampleTransmission(QWidget *parent = 0); + + private slots: + /// Runs the calculation + void calculate(); + /// Handle completion of the calculation algorithm + void algorithmComplete(bool error); + + private: + /// Initialize the layout + virtual void initLayout(); + /// Validates UI input + bool validate(); + + private: + /// The form generated by Qt Designer + Ui::SampleTransmission m_uiForm; + /// Algorithm runner + API::AlgorithmRunner * m_algRunner; + + }; + +} +} + +#endif //MANTIDQTCUSTOMINTERFACES_SAMPLETRANSMISSION_H_ diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui new file mode 100644 index 000000000000..39ad60454078 --- /dev/null +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -0,0 +1,187 @@ + + + SampleTransmission + + + + 0 + 0 + 492 + 245 + + + + Sample Transmission Calculator + + + + + + + Input Wavelength Range + + + + + + + Single + + + + + Multiple + + + + + + + + Type: + + + + + + + + 0 + 0 + + + + 0 + + + + + + + Low: + + + + + + + + + + Width: + + + + + + + + + + High: + + + + + + + + + + + + + + + + + + + + + + + + Sample Details + + + + + + Thickness + + + + + + + Number Density + + + + + + + Chemical Formula + + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Calculate + + + + + + + + + + + + cbBinningType + currentIndexChanged(int) + swBinningTypes + setCurrentIndex(int) + + + 98 + 54 + + + 308 + 54 + + + + + diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp new file mode 100644 index 000000000000..9b9eb182ff44 --- /dev/null +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -0,0 +1,107 @@ +//---------------------- +// Includes +//---------------------- +#include "MantidQtCustomInterfaces/SampleTransmission.h" + +#include "MantidAPI/AlgorithmManager.h" + + +namespace +{ + Mantid::Kernel::Logger g_log("SampleTransmission"); +} + +//Add this class to the list of specialised dialogs in this namespace +namespace MantidQt +{ +namespace CustomInterfaces +{ + DECLARE_SUBWINDOW(SampleTransmission); +} +} + +using namespace MantidQt::CustomInterfaces; +using namespace Mantid::API; + + +//---------------------- +// Public member functions +//---------------------- +///Constructor +SampleTransmission::SampleTransmission(QWidget *parent) : + UserSubWindow(parent), + m_algRunner(new API::AlgorithmRunner(this)) +{ + connect(m_algRunner, SIGNAL(algorithmComplete(bool)), this, SLOT(algorithmComplete(bool))); +} + + +/** + * Set up the dialog layout. + */ +void SampleTransmission::initLayout() +{ + m_uiForm.setupUi(this); + connect(m_uiForm.pbCalculate, SIGNAL(clicked()), this, SLOT(calculate())); +} + + +/** + * Validate user input. + * Outputs any warnings to the results log at warning level. + * + * @return Result of validation + */ +bool SampleTransmission::validate() +{ + //TODO + return false; +} + + +/** + * Performs a calculation with the current settings + */ +void SampleTransmission::calculate() +{ + // Create the transmission calculation algorithm + IAlgorithm_sptr transCalcAlg = AlgorithmManager::Instance().create("CalculateSampleTransmission"); + transCalcAlg->initialize(); + + // Set the wavelength binning based on type set in UI + int wavelengthBinning = m_uiForm.cbBinningType->currentIndex(); + switch(wavelengthBinning) + { + // Multiple + case 0: + //TODO + transCalcAlg->setProperty("WavelengthRange", ""); + break; + + // Single + case 1: + transCalcAlg->setProperty("WavelengthRange", m_uiForm.leMultiple->text().toStdString()); + break; + } + + // Set sample material properties + transCalcAlg->setProperty("ChemicalFormula", m_uiForm.leChemicalFormula->text().toStdString()); + transCalcAlg->setProperty("NumberDensity", m_uiForm.spNumberDensity->value()); + transCalcAlg->setProperty("Thickness", m_uiForm.spThickness->value()); + + transCalcAlg->setProperty("OutputWorkspace", "CalculatedSampleTransmission"); + + // Run algorithm + m_algRunner->startAlgorithm(transCalcAlg); +} + + +/** + * Handles completion of the calculation algorithm. + * + * @param error If the algorithm exited with an error + */ +void SampleTransmission::algorithmComplete(bool error) +{ + //TODO +} From b788d915ef4abf4ab694b2f70af12fb82980ba0b Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Mon, 16 Feb 2015 09:35:50 +0000 Subject: [PATCH 026/112] Label the spectra in the output WS Refs #11072 --- .../plugins/algorithms/CalculateSampleTransmission.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py index c88d3bf4f803..f8614e0bc6a7 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py @@ -50,7 +50,8 @@ def PyExec(self): self._setup() # Create the workspace and set the sample material - CreateWorkspace(OutputWorkspace=self._output_ws, NSpec=2, DataX=[0, 0], DataY=[0, 0]) + CreateWorkspace(OutputWorkspace=self._output_ws, NSpec=2, DataX=[0, 0], DataY=[0, 0], + VerticalAxisUnit='Text', VerticalAxisValues='Transmission,Scattering') Rebin(InputWorkspace=self._output_ws, OutputWorkspace=self._output_ws, Params=self._bin_params) SetSampleMaterial(InputWorkspace=self._output_ws, ChemicalFormula=self._chamical_formula) ConvertToPointData(InputWorkspace=self._output_ws, OutputWorkspace=self._output_ws) From ceb9a8de1b4a99b269e34798e65abb071aac1fc7 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Mon, 16 Feb 2015 10:03:07 +0000 Subject: [PATCH 027/112] Add validation to sample transmission UI Refs #11072 --- .../SampleTransmission.ui | 50 ++++++++++++------ .../UserInputValidator.h | 4 ++ .../src/SampleTransmission.cpp | 52 ++++++++++++++++--- .../src/UserInputValidator.cpp | 41 +++++++++++++-- 4 files changed, 120 insertions(+), 27 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui index 39ad60454078..eea5ecafef60 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -7,7 +7,7 @@ 0 0 492 - 245 + 247 @@ -92,6 +92,13 @@ + + + + + + + @@ -105,20 +112,40 @@ Sample Details - - + + - Thickness + Number Density - - + + + + + + + + - Number Density + Thickness + + + + + + + + + + + + + + @@ -126,15 +153,6 @@ - - - - - - - - - diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h index 8356e3821fc0..1d8a98ddce7c 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h @@ -80,8 +80,12 @@ namespace MantidQt bool isAllInputValid(); private: + /// Sets a validation label + void setErrorLabel(QLabel * errorLabel, bool valid); + /// Any raised error messages. QStringList m_errorMessages; + }; } } diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp index 9b9eb182ff44..ffc0e6dbec33 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -4,6 +4,7 @@ #include "MantidQtCustomInterfaces/SampleTransmission.h" #include "MantidAPI/AlgorithmManager.h" +#include "MantidQtCustomInterfaces/UserInputValidator.h" namespace @@ -54,8 +55,37 @@ void SampleTransmission::initLayout() */ bool SampleTransmission::validate() { - //TODO - return false; + UserInputValidator uiv; + + // Valudate input binning + int wavelengthBinning = m_uiForm.cbBinningType->currentIndex(); + switch(wavelengthBinning) + { + // Single + case 0: + uiv.checkBins(m_uiForm.spSingleLow->value(), + m_uiForm.spSingleWidth->value(), + m_uiForm.spSingleHigh->value()); + break; + + // Multiple + case 1: + uiv.checkFieldIsNotEmpty("Multiple binning", + m_uiForm.leMultiple, + m_uiForm.valMultiple); + break; + } + + // Validate chemical formula + uiv.checkFieldIsNotEmpty("Chemical Formula", + m_uiForm.leChemicalFormula, + m_uiForm.valChemicalFormula); + + // Give error message + if(!uiv.isAllInputValid()) + g_log.error(uiv.generateErrorMessage().toStdString()); + + return uiv.isAllInputValid(); } @@ -64,6 +94,10 @@ bool SampleTransmission::validate() */ void SampleTransmission::calculate() { + // Do not try to run with invalid input + if(!validate()) + return; + // Create the transmission calculation algorithm IAlgorithm_sptr transCalcAlg = AlgorithmManager::Instance().create("CalculateSampleTransmission"); transCalcAlg->initialize(); @@ -72,13 +106,19 @@ void SampleTransmission::calculate() int wavelengthBinning = m_uiForm.cbBinningType->currentIndex(); switch(wavelengthBinning) { - // Multiple + // Single case 0: - //TODO - transCalcAlg->setProperty("WavelengthRange", ""); + { + QStringList params; + params << m_uiForm.spSingleLow->text() + << m_uiForm.spSingleWidth->text() + << m_uiForm.spSingleHigh->text(); + QString binString = params.join(","); + transCalcAlg->setProperty("WavelengthRange", binString.toStdString()); break; + } - // Single + // Multiple case 1: transCalcAlg->setProperty("WavelengthRange", m_uiForm.leMultiple->text().toStdString()); break; diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp index ae7bba5358be..aa880db60af9 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp @@ -45,13 +45,13 @@ namespace MantidQt { if(field->text() == "") { - errorLabel->setText("*"); + setErrorLabel(errorLabel, false); m_errorMessages.append(name + " has been left blank."); return false; } else { - errorLabel->setText(""); + setErrorLabel(errorLabel, true); return true; } } @@ -72,12 +72,12 @@ namespace MantidQt if( fieldState == QValidator::Acceptable ) { - errorLabel->setText(""); + setErrorLabel(errorLabel, true); return true; } else { - errorLabel->setText("*"); + setErrorLabel(errorLabel, false); m_errorMessages.append(errorMessage); return false; } @@ -273,7 +273,7 @@ namespace MantidQt if( m_errorMessages.isEmpty() ) return ""; - return "Please correct the following:\n\n" + m_errorMessages.join("\n"); + return "Please correct the following:\n" + m_errorMessages.join("\n"); } /** @@ -285,5 +285,36 @@ namespace MantidQt { return m_errorMessages.isEmpty(); } + + /** + * Sets a validation label that is displyed next to the widget on the UI. + * + * @param errorLabel Label to change + * @param valid If the input was valid + */ + void UserInputValidator::setErrorLabel(QLabel * errorLabel, bool valid) + { + // Do nothing if no error label was provided + if(errorLabel == NULL) + return; + + if(!valid) + { + // Set the label to be red + QPalette palette = errorLabel->palette(); + palette.setColor(errorLabel->foregroundRole(), Qt::red); + errorLabel->setPalette(palette); + + errorLabel->setText("*"); + } + else + { + errorLabel->setText(""); + } + + // Only show the label if input is invalid + errorLabel->setVisible(!valid); + } + } } From 4adc1e9d5755f75dd4dd0f99a484166c8b05724c Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Mon, 16 Feb 2015 10:49:03 +0000 Subject: [PATCH 028/112] Add more UI validation and improve sizing Refs #11072 --- .../SampleTransmission.h | 2 +- .../SampleTransmission.ui | 120 ++++++++++++++---- .../UserInputValidator.h | 8 +- .../src/SampleTransmission.cpp | 19 ++- .../src/UserInputValidator.cpp | 28 ++++ 5 files changed, 146 insertions(+), 31 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h index 7b4f1a931193..66bb3b810dee 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h @@ -39,7 +39,7 @@ namespace CustomInterfaces /// Initialize the layout virtual void initLayout(); /// Validates UI input - bool validate(); + bool validate(bool silent = false); private: /// The form generated by Qt Designer diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui index eea5ecafef60..3ee2c04bab41 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -6,14 +6,26 @@ 0 0 - 492 - 247 + 500 + 275 + + + 0 + 0 + + Sample Transmission Calculator + + + 0 + 0 + + @@ -21,6 +33,12 @@ Input Wavelength Range + + 0 + + + 0 + @@ -63,7 +81,14 @@ - + + + -99.989999999999995 + + + 0.100000000000000 + + @@ -73,7 +98,14 @@ - + + + -99.989999999999995 + + + 0.100000000000000 + + @@ -83,7 +115,14 @@ - + + + -99.989999999999995 + + + 0.100000000000000 + + @@ -119,12 +158,6 @@ - - - - - - @@ -132,20 +165,6 @@ - - - - - - - - - - - - - - @@ -153,9 +172,60 @@ + + + + 0.100000000000000 + + + + + + + 0.100000000000000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h index 1d8a98ddce7c..0a9c44070a14 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/UserInputValidator.h @@ -71,18 +71,20 @@ namespace MantidQt bool checkRangeIsEnclosed(const QString & outerName, std::pair outer, const QString & innerName, std::pair inner); /// Check that the given range can be split evenly into bins of the given width. bool checkBins(double lower, double binWidth, double upper, double tolerance = 0.00000001); + /// Checks two values are not equal + bool checkNotEqual(const QString & name, double x, double y = 0.0, double tolerance = 0.00000001); /// Add a custom error message to the list. void addErrorMessage(const QString & message); + /// Sets a validation label + void setErrorLabel(QLabel * errorLabel, bool valid); + /// Returns an error message which contains all the error messages raised by the check functions. QString generateErrorMessage(); /// Checks to see if all input is valid bool isAllInputValid(); private: - /// Sets a validation label - void setErrorLabel(QLabel * errorLabel, bool valid); - /// Any raised error messages. QStringList m_errorMessages; diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp index ffc0e6dbec33..71909d56369d 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -44,6 +44,8 @@ void SampleTransmission::initLayout() { m_uiForm.setupUi(this); connect(m_uiForm.pbCalculate, SIGNAL(clicked()), this, SLOT(calculate())); + + validate(true); } @@ -51,9 +53,10 @@ void SampleTransmission::initLayout() * Validate user input. * Outputs any warnings to the results log at warning level. * + * @param silent If the results should not be logged * @return Result of validation */ -bool SampleTransmission::validate() +bool SampleTransmission::validate(bool silent) { UserInputValidator uiv; @@ -81,8 +84,16 @@ bool SampleTransmission::validate() m_uiForm.leChemicalFormula, m_uiForm.valChemicalFormula); + // Ensure number density is not zero + uiv.setErrorLabel(m_uiForm.valNumberDensity, + uiv.checkNotEqual("Number Density", m_uiForm.spNumberDensity->value())); + + // Ensure thickness is not zero + uiv.setErrorLabel(m_uiForm.valThickness, + uiv.checkNotEqual("Thickness", m_uiForm.spThickness->value())); + // Give error message - if(!uiv.isAllInputValid()) + if(!silent && !uiv.isAllInputValid()) g_log.error(uiv.generateErrorMessage().toStdString()); return uiv.isAllInputValid(); @@ -143,5 +154,9 @@ void SampleTransmission::calculate() */ void SampleTransmission::algorithmComplete(bool error) { + // Ignore errors + if(error) + return; + //TODO } diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp index aa880db60af9..57b4ef5c3c3a 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp @@ -21,6 +21,8 @@ namespace // anonymous pair.second = temp; } } + + Mantid::Kernel::Logger g_log("UserInputValidator"); } // anonymous namespace namespace MantidQt @@ -254,6 +256,32 @@ namespace MantidQt return true; } + /** + * Checks two values are not equal. + * + * @param name Name of value + * @param x First value + * @param y Second value (defaults to zero) + * @param tolerance Tolerance to which to compare + * @return True if input was valid + */ + bool UserInputValidator::checkNotEqual(const QString & name, double x, double y, double tolerance) + { + double delta = x - y; + + if(std::abs(delta) <= tolerance) + { + std::stringstream msg; + msg << name.toStdString() << " (" << x << ")" + << " should not be equal to " << y << "."; + QString msgStr = QString::fromStdString(msg.str()); + m_errorMessages.append(msgStr); + return false; + } + + return true; + } + /** * Add a custom error message to the list. * From 98ffcabc7a82c23f4ee1996450068738dc1bb9b4 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Mon, 16 Feb 2015 11:37:08 +0000 Subject: [PATCH 029/112] Added output as tree widget Refs #11072 --- .../SampleTransmission.ui | 54 ++++++++++++++----- .../src/SampleTransmission.cpp | 40 +++++++++++++- .../src/UserInputValidator.cpp | 2 - 3 files changed, 81 insertions(+), 15 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui index 3ee2c04bab41..7e61fa9f9d3a 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -6,8 +6,8 @@ 0 0 - 500 - 275 + 550 + 450 @@ -214,17 +214,47 @@ - - - Qt::Vertical - - - - 20 - 40 - + + + Output - + + + + + + 0 + 0 + + + + + 0 + 0 + 0 + + + + true + + + + + + + + Property + + + + + Value + + + + + + diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp index 71909d56369d..801f58119682 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -4,6 +4,7 @@ #include "MantidQtCustomInterfaces/SampleTransmission.h" #include "MantidAPI/AlgorithmManager.h" +#include "MantidKernel/Statistics.h" #include "MantidQtCustomInterfaces/UserInputValidator.h" @@ -154,9 +155,46 @@ void SampleTransmission::calculate() */ void SampleTransmission::algorithmComplete(bool error) { + using namespace Mantid::Kernel; + // Ignore errors if(error) return; - //TODO + MatrixWorkspace_sptr ws = + AnalysisDataService::Instance().retrieveWS("CalculatedSampleTransmission"); + + // Fill the output table + m_uiForm.twResults->clear(); + + double scattering = ws->dataY(1)[0]; + QTreeWidgetItem *scatteringItem = new QTreeWidgetItem(); + scatteringItem->setText(0, "Scattering"); + scatteringItem->setText(1, QString::number(scattering)); + m_uiForm.twResults->addTopLevelItem(scatteringItem); + + QTreeWidgetItem *transmissionItem = new QTreeWidgetItem(); + transmissionItem->setText(0, "Transmission"); + m_uiForm.twResults->addTopLevelItem(transmissionItem); + transmissionItem->setExpanded(true); + + std::vector transmissionData = ws->dataY(0); + Statistics stats = getStatistics(transmissionData); + + QMap transmissionStats; + transmissionStats["Min"] = stats.minimum; + transmissionStats["Max"] = stats.maximum; + transmissionStats["Mean"] = stats.mean; + transmissionStats["Median"] = stats.median; + transmissionStats["Std. Dev."] = stats.standard_deviation; + + for(auto it = transmissionStats.begin(); it != transmissionStats.end(); ++it) + { + QTreeWidgetItem *item = new QTreeWidgetItem(); + item->setText(0, it.key()); + item->setText(1, QString::number(it.value())); + transmissionItem->addChild(item); + } + + //TODO: plot } diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp index 57b4ef5c3c3a..649917e064f7 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/UserInputValidator.cpp @@ -21,8 +21,6 @@ namespace // anonymous pair.second = temp; } } - - Mantid::Kernel::Logger g_log("UserInputValidator"); } // anonymous namespace namespace MantidQt From 1c1f601a9ccc431cfba91538c8bdfed3b0e27b7c Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Mon, 16 Feb 2015 11:52:39 +0000 Subject: [PATCH 030/112] Small fixes to UI nad algorithm, added basic doc page Refs #11072 --- .../algorithms/CalculateSampleTransmission.py | 4 ++-- .../SampleTransmission.ui | 12 ++++++++++++ .../CustomInterfaces/src/SampleTransmission.cpp | 4 +++- .../interfaces/SampleTransmissionCalculator.rst | 17 +++++++++++++++++ 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst diff --git a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py index f8614e0bc6a7..6fb0029cecaf 100644 --- a/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py +++ b/Code/Mantid/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py @@ -53,7 +53,7 @@ def PyExec(self): CreateWorkspace(OutputWorkspace=self._output_ws, NSpec=2, DataX=[0, 0], DataY=[0, 0], VerticalAxisUnit='Text', VerticalAxisValues='Transmission,Scattering') Rebin(InputWorkspace=self._output_ws, OutputWorkspace=self._output_ws, Params=self._bin_params) - SetSampleMaterial(InputWorkspace=self._output_ws, ChemicalFormula=self._chamical_formula) + SetSampleMaterial(InputWorkspace=self._output_ws, ChemicalFormula=self._chemical_formula) ConvertToPointData(InputWorkspace=self._output_ws, OutputWorkspace=self._output_ws) ws = mtd[self._output_ws] @@ -79,7 +79,7 @@ def _setup(self): """ self._bin_params = self.getPropertyValue('WavelengthRange') - self._chamical_formula = self.getPropertyValue('ChemicalFormula') + self._chemical_formula = self.getPropertyValue('ChemicalFormula') self._density = self.getProperty('NumberDensity').value self._thickness = self.getProperty('Thickness').value self._output_ws = self.getPropertyValue('OutputWorkspace') diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui index 7e61fa9f9d3a..14a70b09d4ff 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -174,16 +174,28 @@ + + Ã…^3 + 0.100000000000000 + + 0.100000000000000 + + + cm + 0.100000000000000 + + 0.100000000000000 + diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp index 801f58119682..47d60bd70c6b 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -196,5 +196,7 @@ void SampleTransmission::algorithmComplete(bool error) transmissionItem->addChild(item); } - //TODO: plot + m_uiForm.twResults->resizeColumnToContents(0); + + //TODO: Preview plot } diff --git a/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst b/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst new file mode 100644 index 000000000000..aaa50194e0bf --- /dev/null +++ b/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst @@ -0,0 +1,17 @@ +Data Comparison +=============== + +.. contents:: Table of Contents + :local: + +Overview +-------- + +.. interface:: Sample Transmission Calculator + :align: right + +The sample transmission calculator allows the calculation fo the sample +transmission and scattering over a given wavelength range for a particular +sample material and geometry. + +.. categories:: Interfaces General From 824839e0ec3a27bb154bbc8a7a06312432f498ea Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 14:01:03 +0000 Subject: [PATCH 031/112] Fix bugs with cleaning logic in Windows build script Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript.bat | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index 151378aa1c70..694da2eb62c4 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -33,19 +33,20 @@ if NOT DEFINED MANTID_DATA_STORE ( ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Check job requirements from the name ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%JOB_NAME%"=="%JOB_NAME:clean=%" ( +set CLEANBUILD= +set BUILDPKG= +if not "%JOB_NAME%" == "%JOB_NAME:clean=%" ( set CLEANBUILD=yes set BUILDPKG=yes ) if EXIST %WORKSPACE%\build\CMakeCache.txt ( - TYPE %WORKSPACE%\build\CMakeCache.txt | FINDSTR "Code/Mantid/TestingTools/cxxtest" - if %ERRORLEVEL% EQU 0 ( + FINDSTR "Code/Mantid/TestingTools/cxxtest" %WORKSPACE%\build\CMakeCache.txt && ( rmdir /S /Q %WORKSPACE%\build ) ) -if "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( +if not "%JOB_NAME%" == "%JOB_NAME:pull_requests=%" ( set BUILDPKG=yes ) @@ -60,7 +61,7 @@ if "%BUILDPKG%" EQU "yes" ( ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Setup the build directory ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%CLEANBUILD%" EQU "yes" ( +if "%CLEANBUILD%" == "yes" ( rmdir /S /Q %WORKSPACE%\build ) md %WORKSPACE%\build From 39f854ad28f30d706831a8146d69756b0a89380a Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 15:34:01 +0000 Subject: [PATCH 032/112] Fix bug in setting PATH variable. It needs to come after choosing the configuration. Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript.bat | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index 694da2eb62c4..0e9e6e37cdbd 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -17,8 +17,6 @@ cd %WORKSPACE%\Code call fetch_Third_Party win64 cd %WORKSPACE% -set PATH=%WORKSPACE%\Code\Third_Party\lib\win64;%WORKSPACE%\Code\Third_Party\lib\win64\Python27;%PARAVIEW_DIR%\bin\%BUILD_CONFIG%;%PATH% - ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Set up the location for local object store outside of the build and source :: tree, which can be shared by multiple builds. @@ -85,6 +83,10 @@ if not "%JOB_NAME%"=="%JOB_NAME:relwithdbg=%" ( ) else ( set BUILD_CONFIG=Release )) +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Update the PATH so that we can find everything +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +set PATH=%WORKSPACE%\Code\Third_Party\lib\win64;%WORKSPACE%\Code\Third_Party\lib\win64\Python27;%PARAVIEW_DIR%\bin\%BUILD_CONFIG%;%PATH% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: CMake configuration From 6dc3ae2935ee63f910173d777c6c72d334742467 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 16:05:43 +0000 Subject: [PATCH 033/112] Follow the standard convention for the system tests results filename. Refs #10870 --- Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py index ca5c5f1be96e..9952384010a6 100755 --- a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py +++ b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py @@ -115,7 +115,7 @@ # report the errors success = reporter.reportStatus() -xml_report = open(os.path.join(mtdconf.saveDir, "SystemTestsReport.xml"),'w') +xml_report = open(os.path.join(mtdconf.saveDir, "TEST-systemtests.xml"),'w') xml_report.write(reporter.getResults()) xml_report.close() From 2c082b0c6ac90553271825154cad372864f66e60 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 19:46:39 +0000 Subject: [PATCH 034/112] Fix check for pull_requests job name --- Code/Mantid/Build/Jenkins/buildscript.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index 0e9e6e37cdbd..cbbd401d3c89 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -127,7 +127,7 @@ if "%BUILDPKG%" EQU "yes" ( :: Run the doc tests when doing a pull request build. Run from a package :: from a package to have at least one Linux checks it install okay ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( +if not "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( set SYSTEMTEST_DIR=%WORKSPACE%\Code\Mantid\Testing\SystemTest :: Install package python %SYSTEMTEST_DIR%\scripts\mantidinstaller.py install %WORKSPACE%\build From 707889044120cc2b128adf863579d6887ef0b2b0 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 21:03:22 +0000 Subject: [PATCH 035/112] Fix path to installer python script on Windows Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript.bat | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index cbbd401d3c89..11d190a78a0b 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -128,15 +128,14 @@ if "%BUILDPKG%" EQU "yes" ( :: from a package to have at least one Linux checks it install okay ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: if not "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( - set SYSTEMTEST_DIR=%WORKSPACE%\Code\Mantid\Testing\SystemTest :: Install package - python %SYSTEMTEST_DIR%\scripts\mantidinstaller.py install %WORKSPACE%\build + python %WORKSPACE%\Code\Mantid\Testing\SystemTest\scripts\mantidinstaller.py install %WORKSPACE%\build cd %WORKSPACE%\build\docs :: Run tests C:\MantidInstall\bin\MantidPlot.exe -xq runsphinx_doctest.py if ERRORLEVEl 1 exit /B %ERRORLEVEL% :: Remove cd %WORKSPACE%\build - python %SYSTEMTEST_DIR%\scripts\mantidinstaller.py uninstall %WORKSPACE%\build + python %WORKSPACE%\Code\Mantid\Testing\SystemTest\scripts\mantidinstaller.py uninstall %WORKSPACE%\build ) From dc21b4d134f726c91e615d25f93d9d4adfec6e9f Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 21:31:14 +0000 Subject: [PATCH 036/112] Apply OSX > 10.8 fix to system test scripts Refs #10870 --- Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py | 4 +++- Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py index e365ed240559..88a6aeb13457 100644 --- a/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py +++ b/Code/Mantid/Testing/SystemTests/scripts/mantidinstaller.py @@ -229,7 +229,9 @@ class DMGInstaller(MantidInstaller): def __init__(self, package_dir, do_install): MantidInstaller.__init__(self, package_dir, 'mantid-*.dmg', do_install) self.mantidPlotPath = '/Applications/MantidPlot.app/Contents/MacOS/MantidPlot' - os.environ['DYLD_LIBRARY_PATH'] = '/Applications/MantidPlot.app/Contents/MacOS' + # only necessary on 10.8 build + if int(platform.release().split('.')[0]) < 13: + os.environ['DYLD_LIBRARY_PATH'] = '/Applications/MantidPlot.app/Contents/MacOS' def do_install(self): """Mounts the dmg and copies the application into the right place. diff --git a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py index 9952384010a6..3db730daaf48 100755 --- a/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py +++ b/Code/Mantid/Testing/SystemTests/scripts/runSystemTests.py @@ -78,7 +78,8 @@ # not the dynamic library path variable name if platform.system() == 'Windows': path_var = "PATH" -elif platform.system() == 'Darwin': +# only necessary on 10.8 build +elif platform.system() == 'Darwin' and int(platform.release().split('.')[0]) < 13 : path_var = "DYLD_LIBRARY_PATH" else: path_var = None From 59d199fd5cce1f8675e46bdc949d03b7a168ee29 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Mon, 16 Feb 2015 22:26:42 +0000 Subject: [PATCH 037/112] Fix path to mantidinstaller script Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index 11d190a78a0b..a2046490aa4c 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -129,13 +129,13 @@ if "%BUILDPKG%" EQU "yes" ( ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: if not "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( :: Install package - python %WORKSPACE%\Code\Mantid\Testing\SystemTest\scripts\mantidinstaller.py install %WORKSPACE%\build + python %WORKSPACE%\Code\Mantid\Testing\SystemTests\scripts\mantidinstaller.py install %WORKSPACE%\build cd %WORKSPACE%\build\docs :: Run tests C:\MantidInstall\bin\MantidPlot.exe -xq runsphinx_doctest.py if ERRORLEVEl 1 exit /B %ERRORLEVEL% :: Remove cd %WORKSPACE%\build - python %WORKSPACE%\Code\Mantid\Testing\SystemTest\scripts\mantidinstaller.py uninstall %WORKSPACE%\build + python %WORKSPACE%\Code\Mantid\Testing\SystemTests\scripts\mantidinstaller.py uninstall %WORKSPACE%\build ) From 64e9872f79f8c1a77986ed888b76ce88397587e2 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Tue, 17 Feb 2015 08:50:08 +0000 Subject: [PATCH 038/112] Use delayed expansion to get error level behaviour correct. Also make sure the data paths are setup correct for the doc tests. Refs #10870 --- Code/Mantid/Build/Jenkins/buildscript.bat | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index a2046490aa4c..4071a94f1472 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -1,3 +1,4 @@ +setlocal enbaleextensions enabledelayedexpansion ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: WINDOWS SCRIPT TO DRIVE THE JENKINS BUILDS OF MANTID. :: @@ -131,11 +132,18 @@ if not "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( :: Install package python %WORKSPACE%\Code\Mantid\Testing\SystemTests\scripts\mantidinstaller.py install %WORKSPACE%\build cd %WORKSPACE%\build\docs + ::Remove user properties, disable instrument updating & usage reports + del /Q C:\MantidInstall\bin\Mantid.user.properties + echo UpdateInstrumentDefinitions.OnStartup = 0 > C:\MantidInstall\bin\Mantid.user.properties + echo usagereports.enabled = 0 >> C:\MantidInstall\bin\Mantid.user.properties + set DATA_ROOT=%WORKSPACE%\build\ExternalData\Testing\Data + echo datasearch.directories = !DATA_ROOT!\UnitTest;!DATA_ROOT!\DocTest;%WORKSPACE%\Code\Mantid\instrument >> C:\MantidInstall\bin\Mantid.user.properties :: Run tests C:\MantidInstall\bin\MantidPlot.exe -xq runsphinx_doctest.py - if ERRORLEVEl 1 exit /B %ERRORLEVEL% + set RETCODE=!ERRORLEVEL! :: Remove cd %WORKSPACE%\build python %WORKSPACE%\Code\Mantid\Testing\SystemTests\scripts\mantidinstaller.py uninstall %WORKSPACE%\build + if !RETCODE! NEQ 0 exit /B 1 ) From 45204c84940708447022355919c5aa1687e65813 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 17 Feb 2015 09:04:26 +0000 Subject: [PATCH 039/112] Added preview plot of transmission curve Refs #11072 --- .../SampleTransmission.ui | 38 ++++++++++++++----- .../src/SampleTransmission.cpp | 4 +- .../SampleTransmissionCalculator.rst | 4 +- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui index 14a70b09d4ff..f3b5ef6e696f 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -7,7 +7,7 @@ 0 0 550 - 450 + 570 @@ -232,23 +232,23 @@ - + 0 0 - + + false + + - 0 - 0 - 0 + 255 + 255 + 255 - - true - @@ -295,6 +295,26 @@ + + + MantidQt::MantidWidgets::PreviewPlot + QWidget +
MantidQtMantidWidgets/PreviewPlot.h
+ 1 +
+
+ + cbBinningType + spSingleLow + spSingleWidth + spSingleHigh + leMultiple + leChemicalFormula + spNumberDensity + spThickness + twResults + pbCalculate + diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp index 47d60bd70c6b..1c67f4c340f4 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -198,5 +198,7 @@ void SampleTransmission::algorithmComplete(bool error) m_uiForm.twResults->resizeColumnToContents(0); - //TODO: Preview plot + // Plot transmission curve on preview plot + m_uiForm.ppTransmission->addSpectrum("Transmission", "CalculatedSampleTransmission", 0); + m_uiForm.ppTransmission->resizeX(); } diff --git a/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst b/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst index aaa50194e0bf..f3282759eed3 100644 --- a/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst +++ b/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst @@ -1,5 +1,5 @@ -Data Comparison -=============== +Sample Transmission Calculator +============================== .. contents:: Table of Contents :local: From e59c11071f74a4d522006bda8cb8ea3af40d0c19 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 17 Feb 2015 09:37:48 +0000 Subject: [PATCH 040/112] Properly document sample transmission interface Refs #11072 --- .../SampleTransmission.h | 2 + .../SampleTransmission.ui | 31 +++++++++++++ .../src/SampleTransmission.cpp | 11 +++++ .../CalculateSampleTransmission-v1.rst | 2 + .../SampleTransmissionCalculator.rst | 45 ++++++++++++++++++- 5 files changed, 90 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h index 66bb3b810dee..c40016894a5b 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.h @@ -30,6 +30,8 @@ namespace CustomInterfaces SampleTransmission(QWidget *parent = 0); private slots: + /// Opens the Qt help page for the interface + void showHelp(); /// Runs the calculation void calculate(); /// Handle completion of the calculation algorithm diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui index f3b5ef6e696f..ac5fac1c162a 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -270,6 +270,34 @@
+ + + + + 0 + 0 + + + + + 25 + 25 + + + + + 25 + 25 + + + + <html><head/><body><p>Opens the help page for the interface.</p></body></html> + + + ? + + + @@ -285,6 +313,9 @@ + + <html><head/><body><p>Runs the sample transmission calculation.</p></body></html> + Calculate diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp index 1c67f4c340f4..d381af8bdffc 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -5,6 +5,7 @@ #include "MantidAPI/AlgorithmManager.h" #include "MantidKernel/Statistics.h" +#include "MantidQtAPI/HelpWindow.h" #include "MantidQtCustomInterfaces/UserInputValidator.h" @@ -45,11 +46,21 @@ void SampleTransmission::initLayout() { m_uiForm.setupUi(this); connect(m_uiForm.pbCalculate, SIGNAL(clicked()), this, SLOT(calculate())); + connect(m_uiForm.pbHelp, SIGNAL(clicked()), this, SLOT(showHelp())); validate(true); } +/** + * Opens the Qt help page for the interface. + */ +void SampleTransmission::showHelp() +{ + MantidQt::API::HelpWindow::showCustomInterface(NULL, QString("SampleTransmissionCalculator")); +} + + /** * Validate user input. * Outputs any warnings to the results log at warning level. diff --git a/Code/Mantid/docs/source/algorithms/CalculateSampleTransmission-v1.rst b/Code/Mantid/docs/source/algorithms/CalculateSampleTransmission-v1.rst index 1c23cbd58680..770b301f127a 100644 --- a/Code/Mantid/docs/source/algorithms/CalculateSampleTransmission-v1.rst +++ b/Code/Mantid/docs/source/algorithms/CalculateSampleTransmission-v1.rst @@ -17,6 +17,8 @@ The sample chemical formula is input for the :ref:`SetSampleMaterial number density & thickness is input to then calculate the percentage scattering & transmission. +A flat plate sample which is perpendicular to the beam is assumed. + Usage ----- diff --git a/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst b/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst index f3282759eed3..8034599e9609 100644 --- a/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst +++ b/Code/Mantid/docs/source/interfaces/SampleTransmissionCalculator.rst @@ -9,9 +9,52 @@ Overview .. interface:: Sample Transmission Calculator :align: right + :width: 350 -The sample transmission calculator allows the calculation fo the sample +The sample transmission calculator allows the calculation of the sample transmission and scattering over a given wavelength range for a particular sample material and geometry. +This UI is a front end for the :ref:`CalculateSampleTransmission +` algorithm. + +The algorithm assumes a flat plate sample which is perpendicular to the beam. + +Input Wavelength +~~~~~~~~~~~~~~~~ + +.. interface:: Sample Transmission Calculator + :widget: gbRangeBinning + :align: right + :width: 350 + +The wavelength range to calculate transmission over can be given either by +providing a single binning range in the format of a start, width and end value or +by providing a bin parameter string as used in the :ref:`Rebin ` +algorithm. + +Sample Details +~~~~~~~~~~~~~~ + +.. interface:: Sample Transmission Calculator + :widget: gbSampleDetails + :align: right + :width: 350 + +The sample details required are the chemical formula which is to be given in the +format expected by the :ref:`SetSampleMaterial ` +algorithm, number density in :math:`\mathrm{\AA{}}^3` and thickness in :math:`cm`. + +Output +~~~~~~ + +.. interface:: Sample Transmission Calculator + :widget: gbOutput + :align: right + :width: 350 + +The output is given in a plot of the transmission percentage over wavelength and +a table of statistics for the transmission (maximum, minimum, mean, median and +standard deviation) as well as the scattering percentage for all wavelengths. + .. categories:: Interfaces General From 1f6bb6c8a1525d742f90cfc9351ca37bdc5a21e6 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 17 Feb 2015 09:47:57 +0000 Subject: [PATCH 041/112] Tidy up UI, added message boxes for failures Refs #11072 --- .../MantidQtCustomInterfaces/SampleTransmission.ui | 2 +- .../CustomInterfaces/src/SampleTransmission.cpp | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui index ac5fac1c162a..cb9b0b849dbb 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/SampleTransmission.ui @@ -30,7 +30,7 @@ - Input Wavelength Range + Input Wavelength Range (Ã…) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp index d381af8bdffc..c44be8a5c1cd 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SampleTransmission.cpp @@ -106,7 +106,7 @@ bool SampleTransmission::validate(bool silent) // Give error message if(!silent && !uiv.isAllInputValid()) - g_log.error(uiv.generateErrorMessage().toStdString()); + showInformationBox(uiv.generateErrorMessage()); return uiv.isAllInputValid(); } @@ -154,6 +154,10 @@ void SampleTransmission::calculate() transCalcAlg->setProperty("OutputWorkspace", "CalculatedSampleTransmission"); + // Clear the previous results + m_uiForm.twResults->clear(); + m_uiForm.ppTransmission->clear(); + // Run algorithm m_algRunner->startAlgorithm(transCalcAlg); } @@ -170,14 +174,15 @@ void SampleTransmission::algorithmComplete(bool error) // Ignore errors if(error) + { + showInformationBox("Transmission calculation failed.\nSee Results Log for details."); return; + } MatrixWorkspace_sptr ws = AnalysisDataService::Instance().retrieveWS("CalculatedSampleTransmission"); // Fill the output table - m_uiForm.twResults->clear(); - double scattering = ws->dataY(1)[0]; QTreeWidgetItem *scatteringItem = new QTreeWidgetItem(); scatteringItem->setText(0, "Scattering"); From 2f78028cbc86ca177540c2b6b81ccc4e5f387a0e Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 17 Feb 2015 16:23:20 +0000 Subject: [PATCH 042/112] Fix failing UserInputValidator tests Forgot to update tests for changes made to the results output Refs #11072 --- .../test/UserInputValidatorTest.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/test/UserInputValidatorTest.h b/Code/Mantid/MantidQt/CustomInterfaces/test/UserInputValidatorTest.h index 4ed7c14a14e9..775ef03668e4 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/test/UserInputValidatorTest.h +++ b/Code/Mantid/MantidQt/CustomInterfaces/test/UserInputValidatorTest.h @@ -32,7 +32,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite UserInputValidator uiv; TS_ASSERT(!uiv.checkBins(0.6, -0.1, 1.8)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nBin width must be a positive value."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nBin width must be a positive value."); } void test_zeroWidthRebin() @@ -40,7 +40,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite UserInputValidator uiv; TS_ASSERT(!uiv.checkBins(0.6, 0.0, 1.8)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nBin width must be non-zero."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nBin width must be non-zero."); } void test_zeroRangeRebin() @@ -48,7 +48,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite UserInputValidator uiv; TS_ASSERT(!uiv.checkBins(0.6, 0.1, 0.6)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nBinning ranges must be non-zero."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nBinning ranges must be non-zero."); } void test_reverseRangeRebin() @@ -56,7 +56,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite UserInputValidator uiv; TS_ASSERT(!uiv.checkBins(1.8, 0.1, 0.6)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nThe start of a binning range must be less than the end."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nThe start of a binning range must be less than the end."); } void test_binsNotFactorsRebin() @@ -64,7 +64,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite UserInputValidator uiv; TS_ASSERT(!uiv.checkBins(0.0, 0.2, 0.7)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nBin width must allow for even splitting of the range."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nBin width must allow for even splitting of the range."); } void test_validRange() @@ -81,7 +81,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite std::pair range(10, 5); TS_ASSERT(!uiv.checkValidRange("test range", range)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nThe start of test range must be less than the end."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nThe start of test range must be less than the end."); } void test_invalidRangeZeroWidth() @@ -90,7 +90,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite std::pair range(5, 5); TS_ASSERT(!uiv.checkValidRange("test range", range)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\ntest range must have a non-zero width."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\ntest range must have a non-zero width."); } void test_nonOverlappingRanges() @@ -109,7 +109,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite std::pair rangeB(3, 8); TS_ASSERT(!uiv.checkRangesDontOverlap(rangeA, rangeB)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nThe ranges must not overlap: [1,5], [3,8]."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nThe ranges must not overlap: [1,5], [3,8]."); } void test_enclosedRange() @@ -128,7 +128,7 @@ class UserInputValidatorTest : public CxxTest::TestSuite std::pair inner(3, 15); TS_ASSERT(!uiv.checkRangeIsEnclosed("outer range", outer, "inner range", inner)); TS_ASSERT(!uiv.isAllInputValid()); - TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\n\nouter range must completely enclose inner range."); + TS_ASSERT_EQUALS(uiv.generateErrorMessage(), "Please correct the following:\nouter range must completely enclose inner range."); } }; From 6aa6a5c70a2659597170af3d37de43d41463f625 Mon Sep 17 00:00:00 2001 From: Wenduo Zhou Date: Tue, 17 Feb 2015 17:43:34 -0500 Subject: [PATCH 043/112] Refs #11112. Modified the property TimeInterval. Such that it can take a list of doubles instead of 1. - modified: ../Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp - modified: ../Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h - modified: ../Mantid/Framework/Kernel/src/InternetHelper.cpp: the cast of osstringstream to osstream on mac osx. Modify it only to make the compiling pass. --- .../Algorithms/src/GenerateEventsFilter.cpp | 20 ++++++++++++++----- .../test/GenerateEventsFilterTest.h | 4 ++-- .../Framework/Kernel/src/InternetHelper.cpp | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp b/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp index c5e4e660b520..7784dcfb7869 100644 --- a/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp @@ -10,6 +10,7 @@ #include "MantidAPI/WorkspaceProperty.h" #include "MantidAPI/Column.h" #include "MantidKernel/VisibleWhenProperty.h" +#include "MantidKernel/ArrayProperty.h" using namespace Mantid; using namespace Mantid::Kernel; @@ -74,8 +75,12 @@ void GenerateEventsFilter::init() { "while the relative time takes integer or float. "); // Split by time (only) in steps - declareProperty("TimeInterval", EMPTY_DBL(), - "Length of the time splices if filtered in time only."); + // TODO - clean this part + // auto timeintervalproperty = boost::make_shared >("TimeInterval"); + declareProperty(new ArrayProperty("TimeInterval"), + "Length..."); + // declareProperty("TimeInterval", EMPTY_DBL(), + // "Length of the time splices if filtered in time only."); setPropertySettings("TimeInterval", new VisibleWhenProperty("LogName", IS_EQUAL_TO, "")); @@ -379,10 +384,10 @@ void GenerateEventsFilter::processInputTime() { /** Set splitters by time value / interval only */ void GenerateEventsFilter::setFilterByTimeOnly() { - double timeinterval = this->getProperty("TimeInterval"); + vector vec_timeintervals = this->getProperty("TimeInterval"); bool singleslot = false; - if (timeinterval == EMPTY_DBL()) + if (vec_timeintervals.size() == 0) singleslot = true; // Progress @@ -401,7 +406,8 @@ void GenerateEventsFilter::setFilterByTimeOnly() { ss << "Time Interval From " << m_startTime << " to " << m_stopTime; addNewTimeFilterSplitter(m_startTime, m_stopTime, wsindex, ss.str()); - } else { + } else if (vec_timeintervals.size() == 1) { + double timeinterval = vec_timeintervals[0]; int64_t timeslot = 0; // Explicitly N time intervals @@ -439,6 +445,10 @@ void GenerateEventsFilter::setFilterByTimeOnly() { } } // END-WHILE } // END-IF-ELSE + else + { + throw std::runtime_error("Implement multiple time interval ASAP."); + } return; } diff --git a/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h b/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h index 33816f2d7cdf..10239c31d3d6 100644 --- a/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h +++ b/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h @@ -123,7 +123,7 @@ class GenerateEventsFilterTest : public CxxTest::TestSuite TS_ASSERT_THROWS_NOTHING(alg.setProperty("InputWorkspace", eventWS)); TS_ASSERT_THROWS_NOTHING(alg.setProperty("OutputWorkspace", "Splitters01")); TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("InformationWorkspace", "InfoWS");) - TS_ASSERT_THROWS_NOTHING(alg.setProperty("TimeInterval", 15000.0)); + TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("TimeInterval", "15000.0")); TS_ASSERT_THROWS_NOTHING(alg.setProperty("UnitOfTime", "Nanoseconds")); // 3. Running and get result @@ -597,7 +597,7 @@ class GenerateEventsFilterTest : public CxxTest::TestSuite TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("OutputWorkspace", "Splitters08")); TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("InformationWorkspace", "InfoWS08")); TS_ASSERT_THROWS_NOTHING(alg.setProperty("FastLog", true)); - TS_ASSERT_THROWS_NOTHING(alg.setProperty("TimeInterval", 15000.0)); + TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("TimeInterval", "15000.0")); TS_ASSERT_THROWS_NOTHING(alg.setProperty("UnitOfTime", "Nanoseconds")); // Running and get result diff --git a/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp b/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp index 7e07db7f453d..3a991e21cc53 100644 --- a/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp +++ b/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp @@ -134,7 +134,7 @@ int InternetHelper::sendRequestAndProcess(HTTPClientSession &session, std::ostream &responseStream) { // create a request this->createRequest(uri); - session.sendRequest(*m_request) << m_body; + session.sendRequest(*m_request) << m_body.str(); HTTPResponse res; std::istream &rs = session.receiveResponse(res); From 813315ec985e7b5d25a5b36db03018239585e79c Mon Sep 17 00:00:00 2001 From: Wenduo Zhou Date: Tue, 17 Feb 2015 20:56:14 -0500 Subject: [PATCH 044/112] Refs #11112. Implemented the new feature and unit test. --- .../Algorithms/src/GenerateEventsFilter.cpp | 73 +++++++++++++++---- .../test/GenerateEventsFilterTest.h | 73 +++++++++++++++++++ 2 files changed, 131 insertions(+), 15 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp b/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp index 7784dcfb7869..6987d907070c 100644 --- a/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp @@ -75,12 +75,8 @@ void GenerateEventsFilter::init() { "while the relative time takes integer or float. "); // Split by time (only) in steps - // TODO - clean this part - // auto timeintervalproperty = boost::make_shared >("TimeInterval"); declareProperty(new ArrayProperty("TimeInterval"), "Length..."); - // declareProperty("TimeInterval", EMPTY_DBL(), - // "Length of the time splices if filtered in time only."); setPropertySettings("TimeInterval", new VisibleWhenProperty("LogName", IS_EQUAL_TO, "")); @@ -118,16 +114,6 @@ void GenerateEventsFilter::init() { setPropertySettings("LogValueInterval", new VisibleWhenProperty("LogName", IS_NOT_EQUAL_TO, "")); - /* - Documentation doesn't include property options in property descriptions or - anywhere else. - For example, FilterLogValueByChangingDirection doesn't let me know that - Increasing and Decreasing - are valid options without using the MantidPlotGui to open the algorithm - dialog. - - */ - std::vector filteroptions; filteroptions.push_back("Both"); filteroptions.push_back("Increase"); @@ -447,7 +433,64 @@ void GenerateEventsFilter::setFilterByTimeOnly() { } // END-IF-ELSE else { - throw std::runtime_error("Implement multiple time interval ASAP."); + // Explicitly N time intervals with various interval + + // Construct a vector for time intervals in nanosecond + size_t numtimeintervals = vec_timeintervals.size(); + std::vector vec_dtimens(numtimeintervals); + for (size_t id = 0; id < numtimeintervals; ++id) + { + int64_t deltatime_ns = + static_cast(vec_timeintervals[id] * m_timeUnitConvertFactorToNS); + vec_dtimens[id] = deltatime_ns; + } + + // Build the splitters + int64_t timeslot = 0; + + int64_t curtime_ns = m_startTime.totalNanoseconds(); + int wsindex = 0; + while (curtime_ns < m_stopTime.totalNanoseconds()) { + int64_t deltatime_ns; + for (size_t id = 0; id < numtimeintervals; ++id) + { + // get next time interval value + deltatime_ns = vec_dtimens[id]; + // Calculate next.time + int64_t nexttime_ns = curtime_ns + deltatime_ns; + bool breaklater = false; + if (nexttime_ns > m_stopTime.totalNanoseconds()) + { + nexttime_ns = m_stopTime.totalNanoseconds(); + breaklater = true; + } + + // Create splitter and information + Kernel::DateAndTime t0(curtime_ns); + Kernel::DateAndTime tf(nexttime_ns); + std::stringstream ss; + ss << "Time Interval From " << t0 << " to " << tf; + + addNewTimeFilterSplitter(t0, tf, wsindex, ss.str()); + + // Update loop variable + curtime_ns = nexttime_ns; + ++wsindex; + + // Update progress + int64_t newtimeslot = + (curtime_ns - m_startTime.totalNanoseconds()) * 90 / totaltime; + if (newtimeslot > timeslot) { + // There is change and update progress + timeslot = newtimeslot; + double prog = 0.1 + double(timeslot) / 100.0; + progress(prog); + } + + if (breaklater) + break; + } // END-FOR + } // END-WHILE } return; diff --git a/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h b/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h index 10239c31d3d6..e9715535e5cb 100644 --- a/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h +++ b/Code/Mantid/Framework/Algorithms/test/GenerateEventsFilterTest.h @@ -941,6 +941,79 @@ class GenerateEventsFilterTest : public CxxTest::TestSuite } + //---------------------------------------------------------------------------------------------- + /** Test generation of splitters by various time intervals + * (1) Multiple time interval with various time interval lengths + * (2) Default start time and stop time + */ + void test_genTimeVariousIntervalMatrixSplitter() + { + // Create input Workspace & initial setup + DataObjects::EventWorkspace_sptr eventWS = createEventWorkspace(); + AnalysisDataService::Instance().addOrReplace("TestEventWorkspace08v", eventWS); + int64_t timeinterval_ns = 15000; + + // Init and set property + GenerateEventsFilter alg; + alg.initialize(); + + std::vector vectimeintervals; + vectimeintervals.push_back(static_cast(timeinterval_ns)); + vectimeintervals.push_back(static_cast(timeinterval_ns)*2.); + vectimeintervals.push_back(static_cast(timeinterval_ns)*3.); + TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("InputWorkspace", "TestEventWorkspace08v")); + TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("OutputWorkspace", "Splitters08v")); + TS_ASSERT_THROWS_NOTHING(alg.setPropertyValue("InformationWorkspace", "InfoWS08v")); + TS_ASSERT_THROWS_NOTHING(alg.setProperty("FastLog", true)); + TS_ASSERT_THROWS_NOTHING(alg.setProperty("TimeInterval", vectimeintervals)); + TS_ASSERT_THROWS_NOTHING(alg.setProperty("UnitOfTime", "Nanoseconds")); + + // Running and get result + TS_ASSERT_THROWS_NOTHING(alg.execute()); + TS_ASSERT(alg.isExecuted()); + + // Check output workspace + API::MatrixWorkspace_sptr splittersws = + boost::dynamic_pointer_cast(AnalysisDataService::Instance().retrieve("Splitters08v")); + + TS_ASSERT(splittersws); + + // Check values of output workspace + size_t numintervals = 38; + TS_ASSERT_EQUALS(splittersws->readY(0).size(), numintervals); + + std::string runstarttimestr = eventWS->run().getProperty("run_start")->value(); + Kernel::DateAndTime runstarttime(runstarttimestr); + int64_t runstarttime_ns = runstarttime.totalNanoseconds(); + + Kernel::TimeSeriesProperty *protonchargelog = + dynamic_cast* >(eventWS->run().getProperty("proton_charge")); + Kernel::DateAndTime runstoptime = Kernel::DateAndTime(protonchargelog->lastTime().totalNanoseconds() + 100000); + + // First 3 intervals + TS_ASSERT_EQUALS(static_cast(splittersws->readX(0)[0]), runstarttime_ns); + TS_ASSERT_EQUALS(static_cast(splittersws->readX(0)[1]), runstarttime_ns + timeinterval_ns); + TS_ASSERT_EQUALS(static_cast(splittersws->readY(0)[0]), 0); + + TS_ASSERT_EQUALS(static_cast(splittersws->readX(0)[2]), runstarttime_ns + timeinterval_ns*3); + TS_ASSERT_EQUALS(static_cast(splittersws->readY(0)[1]), 1); + + TS_ASSERT_EQUALS(static_cast(splittersws->readX(0)[3]), runstarttime_ns + timeinterval_ns*6); + TS_ASSERT_EQUALS(static_cast(splittersws->readY(0)[2]), 2); + + // Last interval + TS_ASSERT_EQUALS(static_cast(splittersws->readX(0).back()), runstoptime.totalNanoseconds()); + TS_ASSERT_EQUALS(static_cast(splittersws->readY(0).back()), numintervals-1); + + // Clean + AnalysisDataService::Instance().remove("Splitters08v"); + AnalysisDataService::Instance().remove("InfoWS08v"); + AnalysisDataService::Instance().remove("TestEventWorkspace08v"); + + return; + } + + //---------------------------------------------------------------------------------------------- /** Convert the splitters stored in a matrix workspace to a vector of SplittingInterval objects */ From 83c603965a3b19e30897ae27f942f668d7f4909d Mon Sep 17 00:00:00 2001 From: Wenduo Zhou Date: Tue, 17 Feb 2015 21:52:39 -0500 Subject: [PATCH 045/112] Refs #11112. Improved documentation. --- .../Algorithms/src/GenerateEventsFilter.cpp | 8 ++++- .../algorithms/GenerateEventsFilter-v1.rst | 33 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp b/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp index 6987d907070c..dd1f338b860c 100644 --- a/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp +++ b/Code/Mantid/Framework/Algorithms/src/GenerateEventsFilter.cpp @@ -76,7 +76,13 @@ void GenerateEventsFilter::init() { // Split by time (only) in steps declareProperty(new ArrayProperty("TimeInterval"), - "Length..."); + "Array for lengths of time intervals for splitters. " + "If the array is empty, then there will be one splitter " + "created from StartTime and StopTime. " + "If the array has one value, then all splitters will have " + "same time intervals. " + "If the size of the array is larger than one, then the " + "splitters can have various time interval values."); setPropertySettings("TimeInterval", new VisibleWhenProperty("LogName", IS_EQUAL_TO, "")); diff --git a/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst b/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst index 7eaaace49bfb..a97a47ec8c31 100644 --- a/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst +++ b/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst @@ -70,6 +70,12 @@ this algorithm: workspace index associated. These workspace indices are incremented by 1 from 0 along with their orders in time. +- A series of filters for multiple continuous time intervals, which + have various lengths of period. + Each of them has an individual workspace index associated. + These workspace indices are incremented by 1 from 0 along with their + order in time. + - A filter containing one or multiple time intervals according to a specified log value. Any log value of the time that falls into the selected time intervals is equal or within the tolerance of a user @@ -81,6 +87,33 @@ this algorithm: equal or within the tolerance of the log value as v\_0 + n x delta\_v +/- tolerance\_v. +Generate event filters by time +============================== + +Event filters can be created by defining start and stop time and time intervals. +The three input properties used are *StartTime*, *StopTime* and *TimeInterval*. +*TimeInterval* accepts an array of doubles. + +If the array size is zero, then there will be one and only splitter will be +created from *StartTime* and *StopTime*. + +If the size of the array is one, then all event splitters will have the same duration +of time. + +In general if the array is composed as :math:`t_1, t_2, \cdots, t_n`, +and :math:`T_0` is the run start time, +then the event splitters will have the time boudaries as + +.. math:: (T_0, T_0+t_1), (T_0+t_1, T_0+t_1+t_2), \cdots, (T_0+\sum_{i=1}^(n-1)t_i, T_0+\sum_{i=1}^nt_i), (T_0+\sum_{i=1}^nt_i, T_0+\sum_{i=1}^nt_i+t_1), \cdots + +until the stop time is reached. + +Unit of time +############ + +There are three types of units that are supported for time. +They are second, nanosecond and percentage of duration from *StartTime* to *StopTime*. + Generate event filters by sample log value ========================================== From 7fdedb08f933f9cdf0fa2ab3e6b67d32847bafff Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Thu, 19 Feb 2015 09:19:38 +0000 Subject: [PATCH 046/112] Add a systemtests.bat script for driving system test jobs. Refs #10870 --- Code/Mantid/Build/Jenkins/systemtests | 2 + Code/Mantid/Build/Jenkins/systemtests.bat | 66 +++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100755 Code/Mantid/Build/Jenkins/systemtests.bat diff --git a/Code/Mantid/Build/Jenkins/systemtests b/Code/Mantid/Build/Jenkins/systemtests index 5ced2d5bd7dc..16f29a98e56b 100755 --- a/Code/Mantid/Build/Jenkins/systemtests +++ b/Code/Mantid/Build/Jenkins/systemtests @@ -46,6 +46,8 @@ cd $WORKSPACE/build ############################################################################### if [[ ! -e $WORKSPACE/build/CMakeCache.txt ]]; then $SCL_ON_RHEL6 "cmake -DMANTID_DATA_STORE=${MANTID_DATA_STORE} -DDATA_TARGETS_ONLY=ON ../Code/Mantid" +else + $SCL_ON_RHEL6 "cmake ." fi ############################################################################### diff --git a/Code/Mantid/Build/Jenkins/systemtests.bat b/Code/Mantid/Build/Jenkins/systemtests.bat new file mode 100755 index 000000000000..3c2f3e003568 --- /dev/null +++ b/Code/Mantid/Build/Jenkins/systemtests.bat @@ -0,0 +1,66 @@ +setlocal enbaleextensions enabledelayedexpansion +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: WINDOWS SCRIPT TO DRIVE THE SYSTEM TESTS OF MANTID +:: +:: Notes: +:: +:: WORKSPACE, JOB_NAME & NODE_LABEL are environment variables that +:: are set by Jenkins. The last one corresponds to any labels set on a slave. +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Print out the versions of things we are using +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +set CMAKE_BIN_DIR=C:\Program Files (x86)\CMake 2.8\bin +"%CMAKE_BIN_DIR%\cmake" --version +echo %sha1% + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Set up the location for local object store outside of the build and source +:: tree, which can be shared by multiple builds. +:: It defaults to a MantidExternalData directory within the USERPROFILE +:: directory. It can be overridden by setting the MANTID_DATA_STORE environment +:: variable. +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +if NOT DEFINED MANTID_DATA_STORE ( + set MANTID_DATA_STORE=%USERPROFILE%\MantidExternalData +) + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Setup the build directory +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +md %WORKSPACE%\build +cd %WORKSPACE%\build + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: CMake configuration if it has not already been configured. +:: We use the special flag that only creates the targets for the data +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +if not EXIST %WORKSPACE%\build\CMakeCache.txt ( + "%CMAKE_BIN_DIR%\cmake" -DMANTID_DATA_STORE=!MANTID_DATA_STORE! -DDATA_TARGETS_ONLY=ON ..\Code\Mantid +) else ( + :: This ensures that any new data files are picked up by the cmake globbing + "%CMAKE_BIN_DIR%\cmake" . +) + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Build step +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +"%CMAKE_BIN_DIR%\cmake" --build . -- StandardTestData +"%CMAKE_BIN_DIR%\cmake" --build . -- SystemTestData + +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Run the tests +::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: Remove any Mantid.user.properties file +set USERPROPS=C:\MantidInstall\bin\Mantid.user.properties +del /Q %USERPROPS% +:: Turn off usage reports and instrument downloading for the mantid call +:: that creates the properties file +echo UpdateInstrumentDefinitions.OnStartup = 0 > %USERPROPS% +echo usagereports.enabled = 0 >> %USERPROPS% + +:: Run +set PKGDIR=%WORKSPACE%\build +python %WORKSPACE%\Code\Mantid\Testing\SystemTests\scripts\InstallerTests.py -o -d %PKGDIR% + From de6037d8fd8335b7cbe6a19a26063445ca43640b Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Thu, 19 Feb 2015 09:20:37 +0000 Subject: [PATCH 047/112] Fix a doctest output to work cross platform. On windows the numpy shape array was printed as (100L, 100L), which caused the string comparison to fail. Refs #10870 --- Code/Mantid/docs/source/algorithms/MDNormDirectSC-v1.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/docs/source/algorithms/MDNormDirectSC-v1.rst b/Code/Mantid/docs/source/algorithms/MDNormDirectSC-v1.rst index 3044493549f1..d59635e54692 100644 --- a/Code/Mantid/docs/source/algorithms/MDNormDirectSC-v1.rst +++ b/Code/Mantid/docs/source/algorithms/MDNormDirectSC-v1.rst @@ -63,8 +63,9 @@ Usage AlignedDim0="[H,0,0],-0.2,1.6,100", AlignedDim1="DeltaE,-1.5,3.,100", ) - normalized=histoData/histoNorm - print "The normalization workspace shape is "+str(histoNorm.getSignalArray().shape) + normalized=histoData/histoNorm + histoShape=histoNorm.getSignalArray().shape + print "The normalization workspace shape is (%d, %d)" % histoShape print "Out of those elements, "+str(nonzero(histoNorm.getSignalArray())[0].size)+" are nonzero" .. testoutput:: MDNormDirectSCExample From 978f39c703a628de2bcde1966aeade2ed07547aa Mon Sep 17 00:00:00 2001 From: Wenduo Zhou Date: Thu, 19 Feb 2015 10:14:40 -0500 Subject: [PATCH 048/112] Cleaned up some issues in doc. Refs #11112. --- .../algorithms/GenerateEventsFilter-v1.rst | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst b/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst index a97a47ec8c31..207d22da111a 100644 --- a/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst +++ b/Code/Mantid/docs/source/algorithms/GenerateEventsFilter-v1.rst @@ -88,35 +88,34 @@ this algorithm: +/- tolerance\_v. Generate event filters by time -============================== +############################## -Event filters can be created by defining start and stop time and time intervals. -The three input properties used are *StartTime*, *StopTime* and *TimeInterval*. -*TimeInterval* accepts an array of doubles. +Event filters can be created by defining start time, stop time and time intervals. +The three input properties for them are *StartTime*, *StopTime* and *TimeInterval*, +respectively. +*TimeInterval* accepts an array of doubles. If the array size is zero, then there will be one and only splitter will be -created from *StartTime* and *StopTime*. - +created from *StartTime* and *StopTime*. If the size of the array is one, then all event splitters will have the same duration of time. - In general if the array is composed as :math:`t_1, t_2, \cdots, t_n`, and :math:`T_0` is the run start time, then the event splitters will have the time boudaries as -.. math:: (T_0, T_0+t_1), (T_0+t_1, T_0+t_1+t_2), \cdots, (T_0+\sum_{i=1}^(n-1)t_i, T_0+\sum_{i=1}^nt_i), (T_0+\sum_{i=1}^nt_i, T_0+\sum_{i=1}^nt_i+t_1), \cdots +.. math:: (T_0, T_0+t_1), (T_0+t_1, T_0+t_1+t_2), \cdots, (T_0+\sum_{i=1}^{n-1}t_i, T_0+\sum_{i=1}^nt_i), (T_0+\sum_{i=1}^nt_i, T_0+\sum_{i=1}^nt_i+t_1), \cdots until the stop time is reached. Unit of time -############ +============ There are three types of units that are supported for time. They are second, nanosecond and percentage of duration from *StartTime* to *StopTime*. Generate event filters by sample log value -========================================== +########################################## The sample log will be divided to intervals as :math:`v_0, v_1, \cdots, v_{i-1}, v_i, v_{i+1}, \cdots`. All log entries, whose values falls into range :math:`[v_j, v_{j+1})`, will be assigned to @@ -124,7 +123,7 @@ a same workspace group. About how log value is recorded -############################### +=============================== SNS DAS records log values upon its changing. The frequency of log sampling is significantly faster than change of the log, i.e., sample @@ -134,7 +133,7 @@ log value changes as step functions. The option to do interpolation is not supported at this moment. Comparison to FilterByLogValue -############################## +============================== 1. If the first log value is within the specified range and the first log time is after run star time, FilterByLogValue assumes that the log From 1f6235982a725df20f6954f429fd396049eb73c0 Mon Sep 17 00:00:00 2001 From: Martyn Gigg Date: Thu, 19 Feb 2015 16:34:40 +0000 Subject: [PATCH 049/112] Fix some issues with the Windows build script * CMake path is set once * Backslash chars are removed from the data search paths before addition to properties file. * Package uninstall happens regardless of exit status. Refs #10870 [skip ci] --- Code/Mantid/Build/Jenkins/buildscript.bat | 39 +++++++++++++---------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/Code/Mantid/Build/Jenkins/buildscript.bat b/Code/Mantid/Build/Jenkins/buildscript.bat index 4071a94f1472..ce0d2ca69f03 100755 --- a/Code/Mantid/Build/Jenkins/buildscript.bat +++ b/Code/Mantid/Build/Jenkins/buildscript.bat @@ -1,4 +1,4 @@ -setlocal enbaleextensions enabledelayedexpansion +setlocal enableextensions enabledelayedexpansion ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: WINDOWS SCRIPT TO DRIVE THE JENKINS BUILDS OF MANTID. :: @@ -7,8 +7,8 @@ setlocal enbaleextensions enabledelayedexpansion :: WORKSPACE & JOB_NAME are environment variables that are set by Jenkins. :: BUILD_THREADS & PARAVIEW_DIR should be set in the configuration of each slave. ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: - -"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" --version +set CMAKE_BIN_DIR=C:\Program Files (x86)\CMake 2.8\bin +"%CMAKE_BIN_DIR%\cmake.exe" --version echo %sha1% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -53,7 +53,7 @@ if not "%JOB_NAME%" == "%JOB_NAME:pull_requests=%" ( :: Packaging options ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set PACKAGE_DOCS= -if "%BUILDPKG%" EQU "yes" ( +if "%BUILDPKG%" == "yes" ( set PACKAGE_DOCS=-DPACKAGE_DOCS=ON ) @@ -92,7 +92,7 @@ set PATH=%WORKSPACE%\Code\Third_Party\lib\win64;%WORKSPACE%\Code\Third_Party\lib ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: CMake configuration ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -G "Visual Studio 11 Win64" -DCONSOLE=OFF -DENABLE_CPACK=ON -DMAKE_VATES=ON -DParaView_DIR=%PARAVIEW_DIR% -DMANTID_DATA_STORE=%MANTID_DATA_STORE% -DUSE_PRECOMPILED_HEADERS=ON %PACKAGE_DOCS% ..\Code\Mantid +"%CMAKE_BIN_DIR%\cmake.exe" -G "Visual Studio 11 Win64" -DCONSOLE=OFF -DENABLE_CPACK=ON -DMAKE_VATES=ON -DParaView_DIR=%PARAVIEW_DIR% -DMANTID_DATA_STORE=!MANTID_DATA_STORE! -DUSE_PRECOMPILED_HEADERS=ON %PACKAGE_DOCS% ..\Code\Mantid if ERRORLEVEL 1 exit /B %ERRORLEVEL% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -104,16 +104,17 @@ if ERRORLEVEL 1 exit /B %ERRORLEVEL% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Run the tests ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -# Remove the user properties file just in case anything polluted it +:: Remove the user properties file just in case anything polluted it set USERPROPS=bin\%BUILD_CONFIG%\Mantid.user.properties del %USERPROPS% -"C:\Program Files (x86)\CMake 2.8\bin\ctest.exe" -C %BUILD_CONFIG% -j%BUILD_THREADS% --schedule-random --output-on-failure +"%CMAKE_BIN_DIR%\ctest.exe" -C %BUILD_CONFIG% -j%BUILD_THREADS% --schedule-random --output-on-failure if ERRORLEVEL 1 exit /B %ERRORLEVEL% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Create the install kit if required ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -if "%BUILDPKG%" EQU "yes" ( +if "%BUILDPKG%" == "yes" ( + echo Building package :: Build offline documentation msbuild /nologo /nr:false /p:Configuration=%BUILD_CONFIG% docs/docs-qthelp.vcxproj @@ -121,7 +122,7 @@ if "%BUILDPKG%" EQU "yes" ( :: It always marks the build as a failure even thought the MantidPlot exit :: code is correct! ::if ERRORLEVEL 1 exit /B %ERRORLEVEL% - cpack -C %BUILD_CONFIG% --config CPackConfig.cmake + "%CMAKE_BIN_DIR%\cpack.exe" -C %BUILD_CONFIG% --config CPackConfig.cmake ) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: @@ -130,20 +131,26 @@ if "%BUILDPKG%" EQU "yes" ( ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: if not "%JOB_NAME%"=="%JOB_NAME:pull_requests=%" ( :: Install package - python %WORKSPACE%\Code\Mantid\Testing\SystemTests\scripts\mantidinstaller.py install %WORKSPACE%\build - cd %WORKSPACE%\build\docs - ::Remove user properties, disable instrument updating & usage reports + set SYSTEMTESTS_DIR=%WORKSPACE%\Code\Mantid\Testing\SystemTests + python !SYSTEMTESTS_DIR!\scripts\mantidinstaller.py install %WORKSPACE%\build + + ::Remove user properties, disable instrument updating & usage reports and add data paths del /Q C:\MantidInstall\bin\Mantid.user.properties echo UpdateInstrumentDefinitions.OnStartup = 0 > C:\MantidInstall\bin\Mantid.user.properties echo usagereports.enabled = 0 >> C:\MantidInstall\bin\Mantid.user.properties - set DATA_ROOT=%WORKSPACE%\build\ExternalData\Testing\Data - echo datasearch.directories = !DATA_ROOT!\UnitTest;!DATA_ROOT!\DocTest;%WORKSPACE%\Code\Mantid\instrument >> C:\MantidInstall\bin\Mantid.user.properties + :: User properties file cannot contain backslash characters + set WORKSPACE_UNIX_STYLE=%WORKSPACE:\=/% + set DATA_ROOT=!WORKSPACE_UNIX_STYLE!/build/ExternalData/Testing/Data + echo datasearch.directories = !DATA_ROOT!/UnitTest;!DATA_ROOT!/DocTest;!WORKSPACE_UNIX_STYLE!/Code/Mantid/instrument >> C:\MantidInstall\bin\Mantid.user.properties + :: Run tests + cd %WORKSPACE%\build\docs C:\MantidInstall\bin\MantidPlot.exe -xq runsphinx_doctest.py set RETCODE=!ERRORLEVEL! - :: Remove + + :: Remove Mantid cd %WORKSPACE%\build - python %WORKSPACE%\Code\Mantid\Testing\SystemTests\scripts\mantidinstaller.py uninstall %WORKSPACE%\build + python !SYSTEMTESTS_DIR!\scripts\mantidinstaller.py uninstall %WORKSPACE%\build if !RETCODE! NEQ 0 exit /B 1 ) From 9cc34613348c555adf21d68526ce79d014c93d1f Mon Sep 17 00:00:00 2001 From: Wenduo Zhou Date: Thu, 19 Feb 2015 16:03:57 -0500 Subject: [PATCH 050/112] Fixed a conflict. Refs #11112. --- Code/Mantid/Framework/Kernel/src/InternetHelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp b/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp index a62084f74ec7..0642b39d799a 100644 --- a/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp +++ b/Code/Mantid/Framework/Kernel/src/InternetHelper.cpp @@ -142,7 +142,7 @@ int InternetHelper::sendRequestAndProcess(HTTPClientSession &session, std::ostream &responseStream) { // create a request this->createRequest(uri); - session.sendRequest(*m_request) << m_body.str(); + session.sendRequest(*m_request) << m_body; std::istream &rs = session.receiveResponse(*m_response); From fb4f6977103ef4427db199a93759809dd4f5331f Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Fri, 20 Feb 2015 16:55:57 +0000 Subject: [PATCH 051/112] Re #7083 Add widget to select function of logvalue --- .../src/PlotAsymmetryByLogValue.cpp | 10 + .../PlotAsymmetryByLogValueDialog.ui | 678 +++++++++--------- .../src/PlotAsymmetryByLogValueDialog.cpp | 2 + 3 files changed, 362 insertions(+), 328 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp index bc9cb6bda5c6..c40e52dffe40 100644 --- a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp @@ -94,6 +94,16 @@ void PlotAsymmetryByLogValue::init() { boost::make_shared(options), "The calculation type: 'Integral' or 'Differential'."); + std::vector optionsLog; + optionsLog.push_back("Mean"); + optionsLog.push_back("Min"); + optionsLog.push_back("Max"); + optionsLog.push_back("First"); + optionsLog.push_back("Last"); + declareProperty("Function", "Last", + boost::make_shared(optionsLog), + "The calculation type: 'Integral' or 'Differential'."); + declareProperty( "TimeMin", EMPTY_DBL(), "The beginning of the time interval used in the calculations."); diff --git a/Code/Mantid/MantidQt/CustomDialogs/inc/MantidQtCustomDialogs/PlotAsymmetryByLogValueDialog.ui b/Code/Mantid/MantidQt/CustomDialogs/inc/MantidQtCustomDialogs/PlotAsymmetryByLogValueDialog.ui index 5d891ba75661..57ba9eee696c 100644 --- a/Code/Mantid/MantidQt/CustomDialogs/inc/MantidQtCustomDialogs/PlotAsymmetryByLogValueDialog.ui +++ b/Code/Mantid/MantidQt/CustomDialogs/inc/MantidQtCustomDialogs/PlotAsymmetryByLogValueDialog.ui @@ -1,351 +1,373 @@ - PlotAsymmetryByLogValueDialog - - - - 0 - 0 - 479 - 544 - - - - PlotAsymmetryByLogValue - - - - - - - - + PlotAsymmetryByLogValueDialog + + + + 0 + 0 + 479 + 544 + + + + PlotAsymmetryByLogValue + + - - - - - First run + + + - - - - - - - - - Browse - - - - + + + + + + + First run + + + + + + + + + + Browse + + + + + + + + + + + Last run + + + + + + + + + + Browse + + + + + + + + + + + Log value + + + + + + + + 0 + 0 + + + + true + + + + + + + + + + Function + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Output workspace + + + + + + + + + + + + Type + + + + + + + + 0 + 0 + + + + + + + + + + - - - - - Last run - - - - - - - - - - Browse + + + Periods - - - + + + + + + + Red + + + + + + + + + + Green + + + + + + + + + + - - - - - Log value - - - - - - - - 0 - 0 - - - - true + + + Grouping - - - + + + + + + + Forward spectra + + + + + + + false + + + + + + + Backward spectra + + + + + + + + + + - - - - - Output workspace + + + Time - - - - - - - - - - - Type - - - - - - - - 0 - 0 - - - - - - - + + + + + + + Min + + + + + + + + + + Max + + + + + + + + + + - - - - - - - Periods - - - - - - - Red + + + Dead Time Correction - - - - - - - - - Green - - - - - - - + + + + + QLayout::SetDefaultConstraint + + + + + Type + + + + + + + + 0 + 0 + + + + + + + + + + + 0 + + + + + File + + + + + + + + + + Browse + + + + + + + + -
- -
- - - - Grouping - - - - - - - Forward spectra - - - - - - - false - - - - - - - Backward spectra - - - - - - - - - - - - - - - Time - - - - - - - - Min - - - - - - - - - - Max + + + 6 - - - - - - - - - - - - - - Dead Time Correction - - - - - - QLayout::SetDefaultConstraint - - - - - Type - - - - - - - - 0 - 0 - - - - - - - - - - - 0 - - - - - File - - - - - - - - - - Browse - - - + + + + + 31 + 26 + + + + ? + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + OK + + + + + + + Cancel + + + - - - - - - - - 6 - - - - - - 31 - 26 - - - - ? - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - OK - - - - - - - Cancel - - - - - - - - firstRunBox - browseFirstButton - lastRunBox - browseLastButton - logBox - outWSBox - redBox - forwardBox - timeMinBox - - - + + + firstRunBox + browseFirstButton + lastRunBox + browseLastButton + logBox + outWSBox + redBox + forwardBox + timeMinBox + + + diff --git a/Code/Mantid/MantidQt/CustomDialogs/src/PlotAsymmetryByLogValueDialog.cpp b/Code/Mantid/MantidQt/CustomDialogs/src/PlotAsymmetryByLogValueDialog.cpp index 3d6fe444ee56..9d9acccbb437 100644 --- a/Code/Mantid/MantidQt/CustomDialogs/src/PlotAsymmetryByLogValueDialog.cpp +++ b/Code/Mantid/MantidQt/CustomDialogs/src/PlotAsymmetryByLogValueDialog.cpp @@ -66,6 +66,7 @@ void PlotAsymmetryByLogValueDialog::initLayout() tie(m_uiForm.firstRunBox, "FirstRun", m_uiForm.FirstRunLayout); tie(m_uiForm.lastRunBox, "LastRun", m_uiForm.LastRunLayout); tie(m_uiForm.logBox, "LogValue"); + tie(m_uiForm.typeBoxLog, "Function"); tie(m_uiForm.outWSBox, "OutputWorkspace", m_uiForm.OutputWSLayout); tie(m_uiForm.typeBox, "Type"); tie(m_uiForm.redBox, "Red"); @@ -96,6 +97,7 @@ void PlotAsymmetryByLogValueDialog::initLayout() // Fill ComboBoxes with allowed values fillAndSetComboBox("Type", m_uiForm.typeBox); + fillAndSetComboBox("Function", m_uiForm.typeBoxLog); fillAndSetComboBox("DeadTimeCorrType", m_uiForm.dtcType); // Fill log values from the file From 734bd598ecba63a649edeeed3cab53cb455f4d32 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Fri, 20 Feb 2015 17:35:20 +0000 Subject: [PATCH 052/112] Re #7083 Add functions of log value --- .../PlotAsymmetryByLogValue.h | 2 ++ .../src/PlotAsymmetryByLogValue.cpp | 33 ++++++++++++------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/PlotAsymmetryByLogValue.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/PlotAsymmetryByLogValue.h index 26508de9191b..e10891b09dc7 100644 --- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/PlotAsymmetryByLogValue.h +++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/PlotAsymmetryByLogValue.h @@ -116,6 +116,8 @@ class DLLExport PlotAsymmetryByLogValue : public API::Algorithm { MantidVec m_diffX, m_diffY, m_diffE; // LogValue name std::string m_logName; + // LogValue function + std::string m_logFunc; }; } // namespace Algorithm diff --git a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp index c40e52dffe40..53b0ea679405 100644 --- a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp @@ -37,11 +37,21 @@ namespace // anonymous */ template bool convertLogToDouble(const Mantid::Kernel::Property *property, - double &value) { + double &value, const std::string& function) { const Mantid::Kernel::TimeSeriesProperty *log = dynamic_cast *>(property); if (log) { - value = static_cast(log->lastValue()); + if (function=="Mean") { + value = static_cast(log->timeAverageValue()); + } else if (function=="First") { + value = static_cast(log->firstValue()); + } else if (function=="Min") { + value = static_cast(log->minValue()); + } else if (function=="Max") { + value = static_cast(log->maxValue()); + } else { // Default + value = static_cast(log->lastValue()); + } return true; } auto tlog = @@ -160,6 +170,8 @@ void PlotAsymmetryByLogValue::exec() { // Get runs std::string firstFN = getProperty("FirstRun"); std::string lastFN = getProperty("LastRun"); + // Get function to apply to logValue + m_logFunc = getProperty("Function"); // Parse run names and get the number of runs std::string fnBase, fnExt; @@ -630,24 +642,23 @@ double PlotAsymmetryByLogValue::getLogValue(MatrixWorkspace &ws) { if (!property) { throw std::invalid_argument("Log " + m_logName + " does not exist."); } - double value = 0; // try different property types - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; - if (convertLogToDouble(property, value)) + if (convertLogToDouble(property, value, m_logFunc)) return value; // try if it's a string and can be lexically cast to double auto slog = From 0902d9f14f87c34b2ee7527b2dee862a3dca6de6 Mon Sep 17 00:00:00 2001 From: Steven Hahn Date: Fri, 20 Feb 2015 18:39:59 -0500 Subject: [PATCH 053/112] Refs #11153. Replace BRepMesh::Mesh with BRepMesh_IncrementalMesh. --- .../Framework/Geometry/src/Rendering/OCGeometryGenerator.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/Framework/Geometry/src/Rendering/OCGeometryGenerator.cpp b/Code/Mantid/Framework/Geometry/src/Rendering/OCGeometryGenerator.cpp index bab1459e647d..d7b2f36805bc 100644 --- a/Code/Mantid/Framework/Geometry/src/Rendering/OCGeometryGenerator.cpp +++ b/Code/Mantid/Framework/Geometry/src/Rendering/OCGeometryGenerator.cpp @@ -44,7 +44,7 @@ GCC_DIAG_OFF(cast-qual) #include #include #include -#include +#include #include #include #include @@ -121,7 +121,7 @@ void OCGeometryGenerator::AnalyzeObject() { TopoDS_Shape Result = AnalyzeRule(const_cast(top)); try { ObjSurface = new TopoDS_Shape(Result); - BRepMesh::Mesh(Result, 0.001); + BRepMesh_IncrementalMesh(Result, 0.001); } catch (StdFail_NotDone &) { g_log.error("Cannot build the geometry. Check the geometry definition"); } From 37cc588857d6cf83b371b6652888e8a833f5f62c Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 15:21:42 +0000 Subject: [PATCH 054/112] check dynamic_cast, coverity issue 1075737, re #11151, --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 10 ++++++++++ Code/Mantid/MantidPlot/src/PlotDialog.h | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index eae4be1e6635..f31439122313 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -3110,6 +3110,16 @@ CurveTreeItem::CurveTreeItem(QwtPlotItem *curve, LayerItem *parent, const QStrin setIcon(0, getQPixmap("graph_disabled_xpm")); } +Graph* CurveTreeItem::graph() +{ + LayerItem *l = dynamic_cast(parent()); + if (l) { + return l->graph(); + } else { + return NULL; + } +} + void CurveTreeItem::setActive(bool on) { if (on) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.h b/Code/Mantid/MantidPlot/src/PlotDialog.h index cebfeacc1dce..f5e1d9017a55 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.h +++ b/Code/Mantid/MantidPlot/src/PlotDialog.h @@ -298,7 +298,7 @@ class CurveTreeItem : public QTreeWidgetItem enum {PlotCurveTreeItem = 1002}; CurveTreeItem(QwtPlotItem *curve, LayerItem *parent, const QString& s); - Graph* graph(){return dynamic_cast(parent())->graph();}; + Graph* graph(); void setActive(bool on); QwtPlotItem *plotItem() const{ return d_curve; }; From 796addaddaa2554bc85238ecc98c10f6e4018e7e Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 15:29:11 +0000 Subject: [PATCH 055/112] dynamic_cast in insertCurvesList, coverity issue 1075738, re #11151, --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index f31439122313..da89a49ad15f 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -3075,6 +3075,9 @@ void LayerItem::insertCurvesList() { PlotCurve *c = dynamic_cast(it); DataCurve* dc = dynamic_cast(it); + if (!c || !dc) + continue; + if (dc && c->type() != Graph::Function && dc->table()) { QString s = dc->plotAssociation(); From 9896620ac811582173e90f4e6f03ab1057b6d65f Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 15:33:51 +0000 Subject: [PATCH 056/112] dynamic_cast in editCurve, coverity issue 1075739, re #11151, --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index da89a49ad15f..0a2bf10aec09 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -356,7 +356,10 @@ void PlotDialog::editCurve() return; int index = item->plotItemIndex(); - int curveType = dynamic_cast(item->plotItem())->type(); + PlotCurve* pc = dynamic_cast(item->plotItem()); + if (!pc) + return; + int curveType = pc->type(); hide(); From d131525e5cfe2d62300d96d85cf64a13891ca671 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 15:42:53 +0000 Subject: [PATCH 057/112] dynamic_cast, showPlotAssociations, coverity issue 1075740, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index 0a2bf10aec09..62f8aad7ffad 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -324,7 +324,7 @@ void PlotDialog::showPlotAssociations(QTreeWidgetItem *item, int) if (it->rtti() == QwtPlotItem::Rtti_PlotSpectrogram) { Spectrogram *sp = dynamic_cast(it); - if (sp->matrix()) + if (sp && sp->matrix()) sp->matrix()->showMaximized(); return; } From 6f052137b6c5088a5c18b2cf86319da6fa468dc6 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 15:51:00 +0000 Subject: [PATCH 058/112] dynamic_cast, showPlotAssociations, coverity issue 1075741, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index 62f8aad7ffad..fc5914481238 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -330,7 +330,10 @@ void PlotDialog::showPlotAssociations(QTreeWidgetItem *item, int) } hide(); - if (dynamic_cast(it)->type() == Graph::Function) + PlotCurve *pc = dynamic_cast(it); + if (!pc) + return; + if (pc->type() == Graph::Function) { FunctionDialog *fd = d_app->showFunctionDialog((dynamic_cast(item))->graph(), dynamic_cast(item)->plotItemIndex()); From 17f1f8ca674f8a3e0b0a99997564b62a3e8e234d Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:06:48 +0000 Subject: [PATCH 059/112] dynamic_casts, showPlotAssociations, coverity issue 1075742, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index fc5914481238..011de00bf535 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -317,7 +317,10 @@ void PlotDialog::showPlotAssociations(QTreeWidgetItem *item, int) if (item->type() != CurveTreeItem::PlotCurveTreeItem) return; - QwtPlotItem *it = dynamic_cast(dynamic_cast(item)->plotItem()); // crazy + CurveTreeItem *ctit = dynamic_cast(item); + if (!ctit) + return; + QwtPlotItem *it = dynamic_cast(ctit->plotItem()); if (!it) return; @@ -335,15 +338,16 @@ void PlotDialog::showPlotAssociations(QTreeWidgetItem *item, int) return; if (pc->type() == Graph::Function) { - FunctionDialog *fd = d_app->showFunctionDialog((dynamic_cast(item))->graph(), - dynamic_cast(item)->plotItemIndex()); + FunctionDialog *fd = d_app->showFunctionDialog(ctit->graph(), + ctit->plotItemIndex()); + if (fd) connect((QObject *) fd, SIGNAL(destroyed()), this, SLOT(show())); } else { - AssociationsDialog* ad = d_app->showPlotAssociations( - dynamic_cast(item)->plotItemIndex()); + AssociationsDialog* ad = d_app->showPlotAssociations(ctit->plotItemIndex()); + if (ad) connect((QObject *) ad, SIGNAL(destroyed()), this, SLOT(show())); } From 0cbecbf689cee00fbb8fbcd04a82a355689ccb9d Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:10:34 +0000 Subject: [PATCH 060/112] dynamic_cast, setEquidistantLevels, coverity issue 1075743, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index 011de00bf535..b5e5d553bbe3 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -283,6 +283,9 @@ void PlotDialog::setEquidistantLevels() return; CurveTreeItem *item = dynamic_cast(it); + if (!item) + return; + QwtPlotItem *plotItem = dynamic_cast(item->plotItem()); if (!plotItem) return; From e1152f9654856154b9d39bbd7cb3f002e0587fbd Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:15:00 +0000 Subject: [PATCH 061/112] dynamic_cast, contextMenuEvent, coverity issues 1075744,5, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index b5e5d553bbe3..0b703a4b70a6 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -1499,7 +1499,12 @@ void PlotDialog::contextMenuEvent(QContextMenuEvent *e) return; if (item->type() != CurveTreeItem::PlotCurveTreeItem) return; - QwtPlotItem *it = dynamic_cast(dynamic_cast(item)->plotItem()); + + CurveTreeItem *ctit = dynamic_cast(item); + if (!ctit) + return; + + QwtPlotItem *it = dynamic_cast(ctit->plotItem()); if (!it) return; @@ -1512,7 +1517,10 @@ void PlotDialog::contextMenuEvent(QContextMenuEvent *e) if (it->rtti() == QwtPlotItem::Rtti_PlotCurve) { - if (dynamic_cast(it)->type() == Graph::Function) + PlotCurve *pc = dynamic_cast(it); + if (!pc) + return; + if (pc->type() == Graph::Function) contextMenu.insertItem(tr("&Edit..."), this, SLOT(editCurve())); else contextMenu.insertItem(tr("&Plot Associations..."), this, SLOT(editCurve())); From bb97b77c17bef5337d3f9af4e978c16921d98d75 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:19:04 +0000 Subject: [PATCH 062/112] dynamic_cast, chooseLabelsFont, coverity issues 1075746, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index 0b703a4b70a6..b5be507d76a0 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -3023,8 +3023,12 @@ void PlotDialog::chooseLabelsFont() if (!item || item->type() != CurveTreeItem::PlotCurveTreeItem) return; - QwtPlotItem *i = dynamic_cast(item)->plotItem(); - Graph *graph = dynamic_cast(item)->graph(); + CurveTreeItem* ctit = dynamic_cast(item); + if (!ctit) + return; + + QwtPlotItem *i = ctit->plotItem(); + Graph *graph = ctit->graph(); if (!i || !graph) return; From d986d3fa13ca16a4b01c4ab62534f610df426f45 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:29:19 +0000 Subject: [PATCH 063/112] dynamic_casts, updateTabWindow, coverity issues 1075747,8, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 24 ++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index b5be507d76a0..df897d8e19f5 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -1569,18 +1569,32 @@ void PlotDialog::updateTabWindow(QTreeWidgetItem *currentItem, QTreeWidgetItem * forceClearTabs = true; } - if (previousItem->type() == CurveTreeItem::PlotCurveTreeItem) - dynamic_cast(previousItem)->setActive(false); - else if (previousItem->type() == LayerItem::LayerTreeItem) - dynamic_cast(previousItem)->setActive(false); + if (previousItem->type() == CurveTreeItem::PlotCurveTreeItem) { + CurveTreeItem *prev = dynamic_cast(previousItem); + if (!prev) + return; + prev->setActive(false); + } else if (previousItem->type() == LayerItem::LayerTreeItem) { + LayerItem *prev = dynamic_cast(previousItem); + if (!prev) + return; + prev->setActive(false); + } boxPlotType->blockSignals(true); if (currentItem->type() == CurveTreeItem::PlotCurveTreeItem) { CurveTreeItem *curveItem = dynamic_cast(currentItem); + if (!curveItem) + return; + + CurveTreeItem *pi = dynamic_cast(previousItem); + if (!pi) + return; + if (previousItem->type() != CurveTreeItem::PlotCurveTreeItem - || dynamic_cast(previousItem)->plotItemType() != curveItem->plotItemType() + || pi->plotItemType() != curveItem->plotItemType() || forceClearTabs) { clearTabWidget(); From 9e71e68b123fab1909a693ed06f90c25109b7fc8 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:40:51 +0000 Subject: [PATCH 064/112] dynamic_casts, setActiveCurve, coverity issues 1075749,51,52 re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index df897d8e19f5..3c16450692b9 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -1920,6 +1920,8 @@ void PlotDialog::setActiveCurve(CurveTreeItem *item) btnEditCurve->hide(); Spectrogram *sp = dynamic_cast(i); + if (!sp) + return; imageGroupBox->setChecked(sp->testDisplayMode(QwtPlotSpectrogram::ImageMode)); grayScaleBox->setChecked(sp->colorMapPolicy() == Spectrogram::GrayScale); @@ -1977,7 +1979,11 @@ void PlotDialog::setActiveCurve(CurveTreeItem *item) privateTabWidget->showPage(labelsPage); return; } + PlotCurve *c = dynamic_cast(i); + if (!c) + return; + if (c->type() == Graph::Function) btnEditCurve->setText(tr("&Edit...")); else @@ -1987,6 +1993,8 @@ void PlotDialog::setActiveCurve(CurveTreeItem *item) if (curveType == Graph::Pie) { QwtPieCurve *pie = dynamic_cast(i); + if (!pie) + return; boxPiePattern->setPattern(pie->pattern()); boxPieLineWidth->setValue(pie->pen().widthF()); boxPieLineColor->setColor(pie->pen().color()); From ae46dc1ec532248146217e2aeb09e6298eb78f29 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:43:13 +0000 Subject: [PATCH 065/112] dynamic_cast, showStatistics(), coverity issue 1075750, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index 3c16450692b9..c46c564398a2 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -1444,7 +1444,11 @@ void PlotDialog::showStatistics() if (it->type() != CurveTreeItem::PlotCurveTreeItem) return; - QwtPlotItem *plotItem = dynamic_cast(dynamic_cast(it)->plotItem()); + CurveTreeItem *ctit = dynamic_cast(it); + if (!ctit) + return; + + QwtPlotItem *plotItem = dynamic_cast(ctit->plotItem()); if (!plotItem) return; From 634b3a80c3e87502c0eb93415bdf29787ce24fc6 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:49:30 +0000 Subject: [PATCH 066/112] dynamic_cast, changePlotType(), coverity issue 1075753, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index c46c564398a2..667cf3db2d6d 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -416,6 +416,9 @@ void PlotDialog::changePlotType(int plotType) insertTabs(curveType); VectorCurve *v = dynamic_cast(item->plotItem()); + if (!v) + return; + if (plotType) { graph->setCurveType(item->plotItemIndex(), Graph::VectXYAM); From 040b50a8e92f29ba296e8053ce3eebd17b023fb4 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 16:58:35 +0000 Subject: [PATCH 067/112] dynamic_casts, acceptParams(), coverity issues 1075754, 55, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index 667cf3db2d6d..a9426d066287 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -2348,6 +2348,9 @@ bool PlotDialog::acceptParams() return false; CurveTreeItem *item = dynamic_cast(it); + if (!item) + return false; + QwtPlotItem *plotItem = dynamic_cast(item->plotItem()); if (!plotItem) return false; @@ -2529,6 +2532,9 @@ bool PlotDialog::acceptParams() else if (privateTabWidget->currentPage() == piePage) { QwtPieCurve *pie = dynamic_cast(plotItem); + if (!pie) + return false; + pie->setPen( QPen(boxPieLineColor->color(), boxPieLineWidth->value(), Graph::getPenStyle(boxPieLineStyle->currentIndex()))); @@ -2538,6 +2544,9 @@ bool PlotDialog::acceptParams() else if (privateTabWidget->currentPage() == pieGeometryPage) { QwtPieCurve *pie = dynamic_cast(plotItem); + if (!pie) + return false; + pie->setViewAngle(boxPieViewAngle->value()); pie->setThickness(boxPieThickness->value()); pie->setRadius(boxRadius->value()); @@ -2548,6 +2557,9 @@ bool PlotDialog::acceptParams() else if (privateTabWidget->currentPage() == pieLabelsPage) { QwtPieCurve *pie = dynamic_cast(plotItem); + if (!pie) + return false; + pie->setLabelsAutoFormat(pieAutoLabelsBox->isChecked()); pie->setLabelValuesFormat(boxPieValues->isChecked()); pie->setLabelPercentagesFormat(boxPiePercentages->isChecked()); From cc146a067a6a0f1955a79f36ad5343dbd4a41327 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 17:00:19 +0000 Subject: [PATCH 068/112] dynamic_casts, selectCurve(), coverity issues 1075756, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index a9426d066287..b9fa5f20015a 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -1431,7 +1431,10 @@ void PlotDialog::selectCurve(int index) QTreeWidgetItem *item = layerItem->child(index); if (item) { - (dynamic_cast(item))->setActive(true); + CurveTreeItem *ctit = dynamic_cast(item); + if (!ctit) + return; + ctit->setActive(true); listBox->setCurrentItem(item); } } From 089cd0671a4ac6a84e8bdc2be153a66b35e9eb58 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sat, 21 Feb 2015 17:03:16 +0000 Subject: [PATCH 069/112] dynamic_cast, insertTabs(), coverity issue 1075757, re #11151 --- Code/Mantid/MantidPlot/src/PlotDialog.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/PlotDialog.cpp b/Code/Mantid/MantidPlot/src/PlotDialog.cpp index b9fa5f20015a..839fd3f965ba 100644 --- a/Code/Mantid/MantidPlot/src/PlotDialog.cpp +++ b/Code/Mantid/MantidPlot/src/PlotDialog.cpp @@ -1727,7 +1727,11 @@ void PlotDialog::insertTabs(int plot_type) if (!item || item->type() != CurveTreeItem::PlotCurveTreeItem) return; - const DataCurve *c = dynamic_cast((dynamic_cast(item))->plotItem()); + CurveTreeItem *ctit = dynamic_cast(item); + if (!ctit) + return; + + const DataCurve *c = dynamic_cast(ctit->plotItem()); if (!c) return; if (c && c->type() != Graph::Function) From cd98bb4ed174548024b05b81c8e127927b2c7dfc Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 13:55:59 +0000 Subject: [PATCH 070/112] dynamic_cast, scaleFonts(), coverity issue 1075830, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index c791973a8530..bc019a22c17e 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -3685,9 +3685,13 @@ void Graph::scaleFonts(double factor) QObjectList lst = d_plot->children(); foreach(QObject *o, lst){ if (o->inherits("LegendWidget")){ - QFont font = dynamic_cast(o)->font(); + LegendWidget *lw = dynamic_cast(o); + if (!lw) + continue; + + QFont font = lw->font(); font.setPointSizeFloat(factor*font.pointSizeFloat()); - dynamic_cast(o)->setFont(font); + lw->setFont(font); } } From 98f1112253ccc989e0fa793052d376748337835c Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:18:15 +0000 Subject: [PATCH 071/112] dynamic_cast, insrtCurve(), coverity issue 1075829, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index bc019a22c17e..51af99a4853e 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -2780,7 +2780,9 @@ PlotCurve* Graph::insertCurve(Table* w, const QString& xColName, const QString& c = new QwtBarCurve(QwtBarCurve::Horizontal, w, xColName, yColName, startRow, endRow); } else if (style == Histogram){ c = new QwtHistogram(w, xColName, yColName, startRow, endRow); - dynamic_cast(c)->initData(Y.data(), size); + QwtHistogram *histo = dynamic_cast(c); + if (histo) + histo->initData(Y.data(), size); } else c = new DataCurve(w, xColName, yColName, startRow, endRow); From 777ff68fffb4a91ec9ca174a77dfd3cc76bea1d8 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:23:12 +0000 Subject: [PATCH 072/112] dynamic_casts, marterCurve(), coverity issues 1075827,8, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 51af99a4853e..820d1f5f5361 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -4970,7 +4970,8 @@ DataCurve* Graph::masterCurve(QwtErrorPlotCurve *er) continue; if (it->rtti() == QwtPlotItem::Rtti_PlotSpectrogram) continue; - if (dynamic_cast(it)->type() == Function) + PlotCurve *pc = dynamic_cast(it); + if (!pc || pc->type() == Function) continue; DataCurve* dc = dynamic_cast(it); @@ -4992,7 +4993,8 @@ DataCurve* Graph::masterCurve(const QString& xColName, const QString& yColName) continue; if (it->rtti() == QwtPlotItem::Rtti_PlotSpectrogram) continue; - if (dynamic_cast(it)->type() == Function) + PlotCurve *pc = dynamic_cast(it); + if (!pc || pc->type() == Function) continue; DataCurve* dc = dynamic_cast(it); From 1aecabcfa4e696b7e1b0fa2ff5b984bad9211c71 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:28:14 +0000 Subject: [PATCH 073/112] dynamic_cast, removeCurve(), coverity issue 1075826, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 820d1f5f5361..f4d9b8e0208d 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -3093,9 +3093,10 @@ void Graph::removeCurve(int index) if (it->rtti() != QwtPlotItem::Rtti_PlotSpectrogram) { - if (dynamic_cast(it)->type() == ErrorBars) - dynamic_cast(it)->detachFromMasterCurve(); - else if (c->type() != Function && dc){ + if (c->type() == ErrorBars) { + QwtErrorPlotCurve *epc = dynamic_cast(it); + epc->detachFromMasterCurve(); + } else if (c->type() != Function && dc) { dc->clearErrorBars(); dc->clearLabels(); } From 866ad1773bbd3f641db55dd5314cf02fd7d3caf0 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:30:18 +0000 Subject: [PATCH 074/112] dynamic_cast, removeCurves(), coverity issue 1075822, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index f4d9b8e0208d..18559796e955 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -3056,7 +3056,9 @@ void Graph::removeCurves(const QString& s) if (it->rtti() != QwtPlotItem::Rtti_PlotCurve) continue; - if (dynamic_cast(it)->type() == Function) + + PlotCurve *pc = dynamic_cast(it); + if (!pc || pc->type() == Function) continue; DataCurve * dc = dynamic_cast(it); From 93dd0f18a1e8be2bf24c1d490ef66214cabbf90e Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:35:02 +0000 Subject: [PATCH 075/112] dynamic_cast, setGrayScale(), coverity issues 1075819-21, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 18559796e955..b861ccdaf446 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -4843,12 +4843,14 @@ void Graph::setGrayScale() QwtPlotItem * it = plotItem(i); if (it->rtti() == QwtPlotItem::Rtti_PlotSpectrogram) { - dynamic_cast(it)->setGrayScale(); + Spectrogram *spec = dynamic_cast(it); + if (spec) + spec->setGrayScale(); continue; } PlotCurve *c = dynamic_cast(it); - if (c->type() == ErrorBars) + if (!c || c->type() == ErrorBars) continue; QPen pen = c->pen(); @@ -4886,9 +4888,12 @@ void Graph::setGrayScale() continue; PlotCurve *c = dynamic_cast(it); - if (c->type() == ErrorBars) + if (c && c->type() == ErrorBars) { - QwtErrorPlotCurve *er = dynamic_cast(it); // QtiPlot: ErrorBarsCurve *er = (ErrorBarsCurve *) it; + // QtiPlot: ErrorBarsCurve *er = (ErrorBarsCurve *) it; + QwtErrorPlotCurve *er = dynamic_cast(it); + if (!er) + continue; DataCurve* mc = er->masterCurve(); if (mc) er->setColor(mc->pen().color()); From f24be58d84cce8846a51536f1a6a8d339f58eb0e Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:37:05 +0000 Subject: [PATCH 076/112] dynamic_cast, niceLogScales(), coverity issue 1075818-21, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index b861ccdaf446..a049a6bbe918 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -1074,17 +1074,23 @@ void Graph::niceLogScales(QwtPlot::Axis axis) double start = QMIN(scDiv->lBound(), scDiv->hBound()); double end = QMAX(scDiv->lBound(), scDiv->hBound()); - // log scales can't represent zero or negative values, 1e-10 as a low range is enough to display all data but still be plottable on a log scale + // log scales can't represent zero or negative values, 1e-10 as a + // low range is enough to display all data but still be plottable on + // a log scale start = start < 1e-90 ? 1e-10 : start; - // improve the scale labelling by ensuring that the graph starts and ends on numbers that can have major ticks e.g. 0.1 or 1 or 100 + // improve the scale labelling by ensuring that the graph starts and + // ends on numbers that can have major ticks e.g. 0.1 or 1 or 100 const double exponent = floor(log10(start)); start = pow(10.0, exponent); end = ceil(log10(end)); end = pow(10.0, end); ScaleEngine *scaleEng = dynamic_cast(d_plot->axisScaleEngine(axis)); + if (!scaleEng) + return; - // call the QTiPlot function set scale which takes many arguments, fill the arguments with the same settings the plot already has + // call the QTiPlot function set scale which takes many arguments, + // fill the arguments with the same settings the plot already has setScale(axis, start, end, axisStep(axis), scDiv->ticks(QwtScaleDiv::MajorTick).count(), d_plot->axisMaxMinor(axis), From aeb335a9d4c851d82b9ad16c36aae58831cd3739 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:39:00 +0000 Subject: [PATCH 077/112] dynamic_cast, axisFormatInfo(), coverity issue 1075817, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index a049a6bbe918..deeaa4cdf8fb 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -4754,7 +4754,11 @@ QString Graph::axisFormatInfo(int axis) if (axis < 0 || axis > QwtPlot::axisCnt) return QString(); - return dynamic_cast(d_plot->axisScaleDraw(axis))->formatString(); + ScaleDraw *sd = dynamic_cast(d_plot->axisScaleDraw(axis)); + if (sd) + return sd->formatString(); + else + return "Not available!"; } void Graph::updateCurveNames(const QString& oldName, const QString& newName, bool updateTableName) From b97348c3f9327056ca5c350e6c956f9815bd4307 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:40:39 +0000 Subject: [PATCH 078/112] dynamic_cast, deselectCurves(), coverity issue 1075816, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index deeaa4cdf8fb..42af8dc92ed4 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -1675,11 +1675,13 @@ void Graph::deselectCurves() foreach(QwtPlotItem *i, curves){ PlotCurve *c = dynamic_cast(i); DataCurve *dc = dynamic_cast(i); - if(dc && i->rtti() != QwtPlotItem::Rtti_PlotSpectrogram && - c->type() != Graph::Function && dc->hasSelectedLabels() ){ - dc->setLabelsSelected(false); - return; - } + if(c && dc && + i->rtti() != QwtPlotItem::Rtti_PlotSpectrogram && + c->type() != Graph::Function && dc->hasSelectedLabels() ) + { + dc->setLabelsSelected(false); + return; + } } } From 12a4cfad4259e4280d1afed31e9c9999b2be4597 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:42:56 +0000 Subject: [PATCH 079/112] dynamic_cast, setCurrentFont(), coverity issue 1075815, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 42af8dc92ed4..3a9143e1b541 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -5167,8 +5167,10 @@ void Graph::setCurrentFont(const QFont& f) QList curves = d_plot->curvesList(); foreach(QwtPlotItem *i, curves){ DataCurve* dc = dynamic_cast(i); - if(dc && i->rtti() != QwtPlotItem::Rtti_PlotSpectrogram && - dynamic_cast(i)->type() != Graph::Function){ + PlotCurve* pc = dynamic_cast(i); + if(pc && dc + && i->rtti() != QwtPlotItem::Rtti_PlotSpectrogram && + pc->type() != Graph::Function){ if(dc->hasSelectedLabels()){ dc->setLabelsFont(f); d_plot->replot(); From 745fad99db4a323228c516b97a52aaa823d59f99 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:44:43 +0000 Subject: [PATCH 080/112] dynamic_cast, deselectMarker(), coverity issue 1075814, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 3a9143e1b541..52ca22d25008 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -238,9 +238,12 @@ void Graph::deselectMarker() cp->disableEditing(); QObjectList lst = d_plot->children(); - foreach(QObject *o, lst){ - if (o->inherits("LegendWidget")) - dynamic_cast(o)->setSelected(false); + foreach(QObject *o, lst) { + if (o->inherits("LegendWidget")) { + LegendWidget *lw = dynamic_cast(o); + if (lw) + lw->setSelected(false); + } } } From 53e92d1231a13b8ea80fbdea89f497933336eda6 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:50:21 +0000 Subject: [PATCH 081/112] dynamic_cast, saveCurveLayout(), coverity issues 1075811-13, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 42 ++++++++++++++++------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 52ca22d25008..23d18a06ac1c 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -2006,30 +2006,36 @@ QString Graph::saveCurveLayout(int index) if(style == VerticalBars || style == HorizontalBars || style == Histogram){ QwtBarCurve *b = dynamic_cast(c); - s+=QString::number(b->gap())+"\t"; - s+=QString::number(b->offset())+"\t"; + if (b) { + s+=QString::number(b->gap())+"\t"; + s+=QString::number(b->offset())+"\t"; + } } if (style == Histogram){ QwtHistogram *h = dynamic_cast(c); - s+=QString::number(h->autoBinning())+"\t"; - s+=QString::number(h->binSize())+"\t"; - s+=QString::number(h->begin())+"\t"; - s+=QString::number(h->end())+"\t"; + if (h) { + s+=QString::number(h->autoBinning())+"\t"; + s+=QString::number(h->binSize())+"\t"; + s+=QString::number(h->begin())+"\t"; + s+=QString::number(h->end())+"\t"; + } } else if(style == VectXYXY || style == VectXYAM){ VectorCurve *v = dynamic_cast(c); - s+=v->color().name()+"\t"; - s+=QString::number(v->width())+"\t"; - s+=QString::number(v->headLength())+"\t"; - s+=QString::number(v->headAngle())+"\t"; - s+=QString::number(v->filledArrowHead())+"\t"; - - QStringList colsList = v->plotAssociation().split(",", QString::SkipEmptyParts); - s+=colsList[2].remove("(X)").remove("(A)")+"\t"; - s+=colsList[3].remove("(Y)").remove("(M)"); - if (style == VectXYAM) - s+="\t"+QString::number(v->position()); - s+="\t"; + if (v) { + s+=v->color().name()+"\t"; + s+=QString::number(v->width())+"\t"; + s+=QString::number(v->headLength())+"\t"; + s+=QString::number(v->headAngle())+"\t"; + s+=QString::number(v->filledArrowHead())+"\t"; + + QStringList colsList = v->plotAssociation().split(",", QString::SkipEmptyParts); + s+=colsList[2].remove("(X)").remove("(A)")+"\t"; + s+=colsList[3].remove("(Y)").remove("(M)"); + if (style == VectXYAM) + s+="\t"+QString::number(v->position()); + s+="\t"; + } } else if(style == Box){ BoxCurve *b = static_cast(c); s+=QString::number(SymbolBox::symbolIndex(b->maxStyle()))+"\t"; From ab44e13ceef14f1984292f058c3401154945b819 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:51:29 +0000 Subject: [PATCH 082/112] dynamic_cast, setIndexedColors(), coverity issue 1075810, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 23d18a06ac1c..1bfd793c4f9e 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -4944,7 +4944,7 @@ void Graph::setIndexedColors() continue; PlotCurve *c = dynamic_cast(it); - if (c->type() == ErrorBars) + if (!c || c->type() == ErrorBars) continue; QPen pen = c->pen(); From e95ab9ec262cb026fe3f88871748c04a507c30ea Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:53:29 +0000 Subject: [PATCH 083/112] dynamic_cast, setMajorTicksType(), coverity issue 1075809, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 1bfd793c4f9e..a6a406c50143 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -448,14 +448,17 @@ void Graph::setMajorTicksType(const QList& lst) for (int i=0;i<(int)lst.count();i++) { ScaleDraw *sd = dynamic_cast(d_plot->axisScaleDraw (i)); + if (!sd) + continue; + if (lst[i]==ScaleDraw::None || lst[i]==ScaleDraw::In) sd->enableComponent (QwtAbstractScaleDraw::Ticks, false); else { - sd->enableComponent (QwtAbstractScaleDraw::Ticks); - sd->setTickLength (QwtScaleDiv::MinorTick, d_plot->minorTickLength()); - sd->setTickLength (QwtScaleDiv::MediumTick, d_plot->minorTickLength()); - sd->setTickLength (QwtScaleDiv::MajorTick, d_plot->majorTickLength()); + sd->enableComponent(QwtAbstractScaleDraw::Ticks); + sd->setTickLength(QwtScaleDiv::MinorTick, d_plot->minorTickLength()); + sd->setTickLength(QwtScaleDiv::MediumTick, d_plot->minorTickLength()); + sd->setTickLength(QwtScaleDiv::MajorTick, d_plot->majorTickLength()); } sd->setMajorTicksStyle((ScaleDraw::TicksStyle)lst[i]); } From 9c1a9b52413f6869151dc10dd6dcb638b6d638e2 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:54:39 +0000 Subject: [PATCH 084/112] dynamic_cast, setIndexedColors(), coverity issue 1075808, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index a6a406c50143..48d7d877cc04 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -4981,7 +4981,11 @@ void Graph::setIndexedColors() PlotCurve *c = dynamic_cast(it); if (c->type() == ErrorBars) { - QwtErrorPlotCurve *er = dynamic_cast(it); // QtiPlot: ErrorBarsCurve *er = (ErrorBarsCurve *) it; + // QtiPlot: ErrorBarsCurve *er = (ErrorBarsCurve *) it; + QwtErrorPlotCurve *er = dynamic_cast(it); + if (!er) + continue; + DataCurve* mc = er->masterCurve(); if (mc) er->setColor(mc->pen().color()); From 65800d25f5f8b57cc9601957efb150513702180a Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 14:55:51 +0000 Subject: [PATCH 085/112] dynamic_cast, updateImageMarker(), coverity issue 1075807, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 48d7d877cc04..d2a7f7d37433 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -1766,6 +1766,9 @@ void Graph::removeLegend() void Graph::updateImageMarker(int x, int y, int w, int h) { ImageMarker* mrk = dynamic_cast(d_plot->marker(selectedMarker)); + if (!mrk) + return; + mrk->setRect(x, y, w, h); d_plot->replot(); emit modifiedGraph(); From 1116453c04b3ecf980e5929f993ad530345ff93d Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 15:07:18 +0000 Subject: [PATCH 086/112] dynamic_cast, setSelectedMarker(), coverity issue 1075806, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 44 ++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index d2a7f7d37433..62c1cb289f88 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -305,19 +305,33 @@ void Graph::setSelectedMarker(int _mrk, bool add) selectedMarker = mrk; if (add) { if (d_markers_selector) { - if (d_lines.contains(mrk)) - d_markers_selector->add(dynamic_cast(d_plot->marker(mrk))); - else if (d_images.contains(mrk)) - d_markers_selector->add(dynamic_cast(d_plot->marker(mrk))); - else + if (d_lines.contains(mrk)) { + ArrowMarker *am = dynamic_cast(d_plot->marker(mrk)); + if (!am) + return; + d_markers_selector->add(am); + } else if (d_images.contains(mrk)) { + ImageMarker *im = dynamic_cast(d_plot->marker(mrk)); + if (!im) + return; + d_markers_selector->add(im); + } else { return; + } } else { - if (d_lines.contains(mrk)) - d_markers_selector = new SelectionMoveResizer(dynamic_cast(d_plot->marker(mrk))); - else if (d_images.contains(mrk)) - d_markers_selector = new SelectionMoveResizer(dynamic_cast(d_plot->marker(mrk))); - else + if (d_lines.contains(mrk)) { + ArrowMarker *am = dynamic_cast(d_plot->marker(mrk)); + if (!am) + return; + d_markers_selector = new SelectionMoveResizer(am); + } else if (d_images.contains(mrk)) { + ImageMarker *im = dynamic_cast(d_plot->marker(mrk)); + if (!im) + return; + d_markers_selector = new SelectionMoveResizer(im); + } else { return; + } connect(d_markers_selector, SIGNAL(targetsChanged()), this, SIGNAL(modifiedGraph())); } @@ -328,14 +342,20 @@ void Graph::setSelectedMarker(int _mrk, bool add) return; delete d_markers_selector; } - d_markers_selector = new SelectionMoveResizer(dynamic_cast(d_plot->marker(mrk))); + ArrowMarker *am = dynamic_cast(d_plot->marker(mrk)); + if (!am) + return; + d_markers_selector = new SelectionMoveResizer(am); } else if (d_images.contains(mrk)) { if (d_markers_selector) { if (d_markers_selector->contains(dynamic_cast(d_plot->marker(mrk)))) return; delete d_markers_selector; } - d_markers_selector = new SelectionMoveResizer(dynamic_cast(d_plot->marker(mrk))); + ImageMarker *im = dynamic_cast(d_plot->marker(mrk)); + if (!im) + return; + d_markers_selector = new SelectionMoveResizer(im); } else return; From 9bdd2525ebde83aacc4c5b16304756c09e04e57d Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 15:10:19 +0000 Subject: [PATCH 087/112] dynamic_cast, savePieCurveLayout(), coverity issue 1075805, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 62c1cb289f88..41b3907df888 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -1969,6 +1969,9 @@ QString Graph::savePieCurveLayout() QString s="PieCurve\t"; QwtPieCurve *pie = dynamic_cast(curve(0)); + if (!pie) + return s; + s+= pie->title().text()+"\t"; QPen pen = pie->pen(); s+=QString::number(pen.widthF())+"\t"; From 27a4b6e9010108c9085c7a82b5fa648bd284690f Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 15:16:34 +0000 Subject: [PATCH 088/112] dynamic_cast, updateSecondaryAxis(), issues 1075799,800,803, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 41b3907df888..1b521b7d0f1f 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -954,7 +954,7 @@ void Graph::updateSecondaryAxis(int axis) if (it->rtti() == QwtPlotItem::Rtti_PlotSpectrogram){ Spectrogram *sp = dynamic_cast(it); - if (sp->colorScaleAxis() == axis) + if (!sp || sp->colorScaleAxis() == axis) return; } @@ -971,7 +971,10 @@ void Graph::updateSecondaryAxis(int axis) return; ScaleEngine *sc_engine = dynamic_cast(d_plot->axisScaleEngine(axis)); - sc_engine->clone(dynamic_cast(d_plot->axisScaleEngine(a))); + if (sc_engine) { + ScaleEngine *a_engine = dynamic_cast(d_plot->axisScaleEngine(a)); + sc_engine->clone(a_engine); + } /*QwtScaleEngine *qwtsc_engine = d_plot->axisScaleEngine(axis); ScaleEngine *sc_engine=dynamic_cast(qwtsc_engine); From 0d626530ef5d40b1724c828295b6de93b16a3437 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 15:18:05 +0000 Subject: [PATCH 089/112] dynamic_cast, selectedCurveLabels(), issue 1075802, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 1b521b7d0f1f..db422879eefd 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -1720,8 +1720,9 @@ DataCurve* Graph::selectedCurveLabels() foreach(QwtPlotItem *i, curves){ PlotCurve *c = dynamic_cast(i); DataCurve *dc = dynamic_cast(i); - if(dc && i->rtti() != QwtPlotItem::Rtti_PlotSpectrogram && - c->type() != Graph::Function && dc->hasSelectedLabels()) + if(dc && c && + i->rtti() != QwtPlotItem::Rtti_PlotSpectrogram && + c->type() != Graph::Function && dc->hasSelectedLabels()) return dc; } return NULL; From 02c0f8360172b5a9c8bd0709d3fab9e8c9853238 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 15:20:06 +0000 Subject: [PATCH 090/112] dynamic_cast, setAxisTicksLength(), coverity issue 1075801, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index db422879eefd..1cec44586d17 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -525,6 +525,9 @@ void Graph::setAxisTicksLength(int axis, int majTicksType, int minTicksType, d_plot->setTickLength(minLength, majLength); ScaleDraw *sd = dynamic_cast(d_plot->axisScaleDraw(axis)); + if (!sd) + return; + sd->setMajorTicksStyle((ScaleDraw::TicksStyle)majTicksType); sd->setMinorTicksStyle((ScaleDraw::TicksStyle)minTicksType); From 3d721aca502cc725cc193fda321be6ff3c6af9a3 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 15:21:58 +0000 Subject: [PATCH 091/112] dynamic_cast, guessUniqueCurveLayout(), cvrty issue 1075797, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 1cec44586d17..c9e3163bb3b6 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -4496,6 +4496,9 @@ void Graph::guessUniqueCurveLayout(int& colorIndex, int& symbolIndex) if (curve_index >= 0 && c_type[curve_index] == ErrorBars) {// find out the pen color of the master curve QwtErrorPlotCurve *er = dynamic_cast(d_plot->curve(c_keys[curve_index])); + if (!er) + return; + DataCurve *master_curve = er->masterCurve(); if (master_curve){ colorIndex = ColorBox::colorIndex(master_curve->pen().color()); From 6d8efcb41d97a9cef79c516847259019a1a2b2b5 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 18:21:24 +0000 Subject: [PATCH 092/112] dynamic_casts, copy(), coverity issues 1075790-96,98, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 132 +++++++++++++++++++-------- 1 file changed, 96 insertions(+), 36 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index c9e3163bb3b6..9861bb09f1a1 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -4095,9 +4095,14 @@ void Graph::copy(Graph* g) QwtPlotItem *it = (QwtPlotItem *)g->plotItem(i); if (it->rtti() == QwtPlotItem::Rtti_PlotCurve){ DataCurve *cv = dynamic_cast(it); - if (!cv) continue; + if (!cv) + continue; + + PlotCurve *pc = dynamic_cast(it); + if (!pc) + continue; + int n = cv->dataSize(); - int style = dynamic_cast(it)->type(); QVector x(n); QVector y(n); for (int j=0; jy(j); } + int style = pc->type(); + PlotCurve *c = 0; c_keys.resize(++n_curves); c_type.resize(n_curves); @@ -4116,43 +4123,73 @@ void Graph::copy(Graph* g) } else if (style == Function) { c = new FunctionCurve(cv->title().text()); c_keys[i] = d_plot->insertCurve(c); - dynamic_cast(c)->copy(dynamic_cast(cv)); + FunctionCurve *fc = dynamic_cast(c); + if (fc) { + FunctionCurve *fcCV = dynamic_cast(cv); + if (fcCV) + fc->copy(fcCV); + } } else if (style == VerticalBars || style == HorizontalBars) { - c = new QwtBarCurve(dynamic_cast(cv)->orientation(), cv->table(), cv->xColumnName(), - cv->title().text(), cv->startRow(), cv->endRow()); - c_keys[i] = d_plot->insertCurve(c); - (dynamic_cast(c))->copy(dynamic_cast(cv)); + QwtBarCurve *bc = dynamic_cast(c); + if (bc) { + c = new QwtBarCurve(bc->orientation(), cv->table(), cv->xColumnName(), + cv->title().text(), cv->startRow(), cv->endRow()); + c_keys[i] = d_plot->insertCurve(c); + + const QwtBarCurve *cvBC = dynamic_cast(cv); + if (cvBC) + bc->copy(cvBC); + } } else if (style == ErrorBars) { QwtErrorPlotCurve *er = dynamic_cast(cv); - DataCurve *master_curve = masterCurve(er); - if (master_curve) { - c = new QwtErrorPlotCurve(cv->table(), cv->title().text()); - c_keys[i] = d_plot->insertCurve(c); - dynamic_cast(c)->copy(er); - dynamic_cast(c)->setMasterCurve(master_curve); + if (er) { + DataCurve *master_curve = masterCurve(er); + if (master_curve) { + c = new QwtErrorPlotCurve(cv->table(), cv->title().text()); + c_keys[i] = d_plot->insertCurve(c); + QwtErrorPlotCurve *epc = dynamic_cast(c); + if (epc) { + epc->copy(er); + epc->setMasterCurve(master_curve); + } + } } } else if (style == Histogram) { QwtHistogram *h = dynamic_cast(cv); - if (h->matrix()) + if (h && h->matrix()) c = new QwtHistogram(h->matrix()); else c = new QwtHistogram(cv->table(), cv->xColumnName(), cv->title().text(), cv->startRow(), cv->endRow()); c_keys[i] = d_plot->insertCurve(c); - dynamic_cast(c)->copy(h); + + QwtHistogram *cQH = dynamic_cast(c); + if (cQH) + cQH->copy(h); } else if (style == VectXYXY || style == VectXYAM) { VectorCurve::VectorStyle vs = VectorCurve::XYXY; if (style == VectXYAM) vs = VectorCurve::XYAM; - c = new VectorCurve(vs, cv->table(), cv->xColumnName(), cv->title().text(), - dynamic_cast(cv)->vectorEndXAColName(), - dynamic_cast(cv)->vectorEndYMColName(), - cv->startRow(), cv->endRow()); - c_keys[i] = d_plot->insertCurve(c); - dynamic_cast(c)->copy(dynamic_cast(cv)); + VectorCurve *cvVC = dynamic_cast(cv); + if (cvVC) { + c = new VectorCurve(vs, cv->table(), cv->xColumnName(), cv->title().text(), + cvVC->vectorEndXAColName(), + cvVC->vectorEndYMColName(), + cv->startRow(), cv->endRow()); + c_keys[i] = d_plot->insertCurve(c); + + VectorCurve *cVC = dynamic_cast(c); + if (cVC) // it really should be, just did 'c = new VectorCurve(...' + cVC->copy(cvVC); + } } else if (style == Box) { c = new BoxCurve(cv->table(), cv->title().text(), cv->startRow(), cv->endRow()); c_keys[i] = d_plot->insertCurve(c); - dynamic_cast(c)->copy(dynamic_cast(cv)); + BoxCurve *bc = dynamic_cast(c); + if (bc) { + const BoxCurve *cvBC = dynamic_cast(cv); + if (cvBC) + bc->copy(cvBC); + } QwtSingleArrayData dat(x[0], y, n); c->setData(dat); } else { @@ -4162,12 +4199,23 @@ void Graph::copy(Graph* g) if (c_type[i] != Box && c_type[i] != ErrorBars){ c->setData(x.data(), y.data(), n); - if (c->type() != Function && c->type() != Pie) - dynamic_cast(c)->clone(cv); - else if (c->type() == Pie) - dynamic_cast(c)->clone(dynamic_cast(cv)); + if (c->type() != Function && c->type() != Pie) { + DataCurve *dc = dynamic_cast(c); + if (dc) + dc->clone(cv); + } else if (c->type() == Pie) { + QwtPieCurve *cPie = dynamic_cast(c); + if (cPie) { + QwtPieCurve *cvPie = dynamic_cast(cv); + if (cvPie) + cPie->clone(cvPie); + } + } } + if (!c) + continue; + c->setPen(cv->pen()); c->setBrush(cv->brush()); c->setStyle(cv->style()); @@ -4184,8 +4232,11 @@ void Graph::copy(Graph* g) QListlst = g->fitCurvesList(); if (lst.contains(dynamic_cast(it))) d_fit_curves << c; - }else if (it->rtti() == QwtPlotItem::Rtti_PlotSpectrogram){ - Spectrogram *sp = (dynamic_cast(it))->copy(); + } else if (it->rtti() == QwtPlotItem::Rtti_PlotSpectrogram){ + Spectrogram *spc = (dynamic_cast(it)); + if (!spc) + continue; + Spectrogram *sp = spc->copy(); c_keys.resize(++n_curves); c_keys[i] = d_plot->insertCurve(sp); @@ -4219,7 +4270,7 @@ void Graph::copy(Graph* g) continue; ScaleDraw *sdg = dynamic_cast(g->plotWidget()->axisScaleDraw (i)); - if (sdg->hasComponent(QwtAbstractScaleDraw::Labels)) + if (sdg && sdg->hasComponent(QwtAbstractScaleDraw::Labels)) { ScaleDraw::ScaleType type = sdg->scaleType(); if (type == ScaleDraw::Numeric) @@ -4230,9 +4281,10 @@ void Graph::copy(Graph* g) setLabelsMonthFormat(i, sdg->nameFormat()); else if (type == ScaleDraw::Time || type == ScaleDraw::Date) setLabelsDateTimeFormat(i, type, sdg->formatString()); - else{ + else { ScaleDraw *sd = dynamic_cast(plot->axisScaleDraw(i)); - d_plot->setAxisScaleDraw(i, new ScaleDraw(d_plot, sd->labelsList(), sd->formatString(), sd->scaleType())); + if (sd) + d_plot->setAxisScaleDraw(i, new ScaleDraw(d_plot, sd->labelsList(), sd->formatString(), sd->scaleType())); } } else { ScaleDraw *sd = dynamic_cast(d_plot->axisScaleDraw (i)); @@ -4244,9 +4296,6 @@ void Graph::copy(Graph* g) if (!se) continue; - ScaleEngine *sc_engine = dynamic_cast(d_plot->axisScaleEngine(i)); - sc_engine->clone(se); - int majorTicks = plot->axisMaxMajor(i); int minorTicks = plot->axisMaxMinor(i); d_plot->setAxisMaxMajor (i, majorTicks); @@ -4254,6 +4303,12 @@ void Graph::copy(Graph* g) double step = g->axisStep(i); d_user_step[i] = step; + + ScaleEngine *sc_engine = dynamic_cast(d_plot->axisScaleEngine(i)); + if (!sc_engine) + continue; + + sc_engine->clone(se); const QwtScaleDiv *sd = plot->axisScaleDiv(i); QwtScaleDiv div = sc_engine->divideScale (QMIN(sd->lBound(), sd->hBound()), QMAX(sd->lBound(), sd->hBound()), majorTicks, minorTicks, step); @@ -6003,8 +6058,13 @@ void Graph::loadFromProject(const std::string& lines, ApplicationWindow* app, co if(plotType == Graph::Histogram) { QwtHistogram* h = dynamic_cast(curve(curveID)); - h->setBinning(curveValues[17].toInt(),curveValues[18].toDouble(),curveValues[19].toDouble(),curveValues[20].toDouble()); - h->loadData(); + if (h) { + h->setBinning(curveValues[17].toInt(), + curveValues[18].toDouble(), + curveValues[19].toDouble(), + curveValues[20].toDouble()); + h->loadData(); + } } if(plotType == Graph::VerticalBars From a8d647b7c95d07856d62ce9520b664c1fcfb7694 Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 18:23:22 +0000 Subject: [PATCH 093/112] dynamic_casts, axistype(), coverity issue 1075789, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 9861bb09f1a1..46094d4c76ab 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -427,7 +427,11 @@ ScaleDraw::ScaleType Graph::axisType(int axis) if (!d_plot->axisEnabled(axis)) return ScaleDraw::Numeric; - return dynamic_cast(d_plot->axisScaleDraw(axis))->scaleType(); + ScaleDraw *sd = dynamic_cast(d_plot->axisScaleDraw(axis)); + if (sd) + return sd->scaleType(); + else // assuming this is a good default + return ScaleDraw::Numeric; } void Graph::setLabelsNumericFormat(int axis, int format, int prec, const QString& formula) From f769b73b457e62e4f41a9014997ef0401e11cf7a Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 18:26:57 +0000 Subject: [PATCH 094/112] dynamic_casts, setScale(), coverity issue 1075786,88, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 46094d4c76ab..0e75b937e975 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -1182,6 +1182,9 @@ void Graph::setScale(QwtPlot::Axis axis, QwtScaleTransformation::Type scaleType) { //check if the scale is already of the desired type, ScaleEngine *sc_engine = dynamic_cast(d_plot->axisScaleEngine(axis)); + if (!sc_engine) + return; + QwtScaleTransformation::Type type = sc_engine->type(); if ( scaleType == QwtScaleTransformation::Log10 ) { @@ -1200,8 +1203,11 @@ void Graph::setScale(QwtPlot::Axis axis, QwtScaleTransformation::Type scaleType) double end = QMAX(scDiv->lBound(), scDiv->hBound()); ScaleEngine *scaleEng = dynamic_cast(d_plot->axisScaleEngine(axis)); + if (!scaleEng) + return; - // call the QTiPlot function set scale which takes many arguments, fill the arguments with the same settings the plot already has + // call the QTiPlot function set scale which takes many arguments, + // fill the arguments with the same settings the plot already has setScale(axis, start, end, axisStep(axis), scDiv->ticks(QwtScaleDiv::MajorTick).count(), d_plot->axisMaxMinor(axis), scaleType, From 0ff0f9e71d77a668678e5e2bc5000b6a1d6930cc Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 18:29:32 +0000 Subject: [PATCH 095/112] dynamic_casts, showAxis(), coverity issue 1075785, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index 0e75b937e975..e68d8ee04902 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -591,11 +591,16 @@ void Graph::showAxis(int axis, int type, const QString& formatInfo, Table *table if (!axisOn) return; - QList majTicksTypeList = d_plot->getMajorTicksType(); - QList minTicksTypeList = d_plot->getMinorTicksType(); - QwtScaleWidget *scale = dynamic_cast(d_plot->axisWidget(axis)); + if (!scale) + return; + ScaleDraw *sd = dynamic_cast(d_plot->axisScaleDraw(axis)); + if (!sd) + return; + + QList majTicksTypeList = d_plot->getMajorTicksType(); + QList minTicksTypeList = d_plot->getMinorTicksType(); if (d_plot->axisEnabled (axis) == axisOn && majTicksTypeList[axis] == majTicksType && From 653dd8467ae8bf33fa3aead582d03a789258acfc Mon Sep 17 00:00:00 2001 From: Federico Montesino Pouzols Date: Sun, 22 Feb 2015 18:32:31 +0000 Subject: [PATCH 096/112] dynamic_cast, removePie(), coverity issue 1075783, re #11152 --- Code/Mantid/MantidPlot/src/Graph.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Code/Mantid/MantidPlot/src/Graph.cpp b/Code/Mantid/MantidPlot/src/Graph.cpp index e68d8ee04902..a3fcaf85c6d6 100644 --- a/Code/Mantid/MantidPlot/src/Graph.cpp +++ b/Code/Mantid/MantidPlot/src/Graph.cpp @@ -3094,9 +3094,13 @@ void Graph::removePie() if (d_legend) d_legend->setText(QString::null); - QList labels = dynamic_cast(curve(0))->labelsList(); + QwtPieCurve *pieCurve = dynamic_cast(curve(0)); + if (!pieCurve) + return; + + QList labels = pieCurve->labelsList(); foreach(PieLabel *l, labels) - l->setPieCurve(0); + l->setPieCurve(0); d_plot->removeCurve(c_keys[0]); d_plot->replot(); From 07023dbbeb3554eda986fc5131059611877e84a2 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Mon, 23 Feb 2015 10:21:18 +0000 Subject: [PATCH 097/112] Re #7083 Change property order in init method --- .../src/PlotAsymmetryByLogValue.cpp | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp index 53b0ea679405..f8b4ed0d3f3b 100644 --- a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp @@ -93,16 +93,6 @@ void PlotAsymmetryByLogValue::init() { boost::make_shared>(), "The name of the log values which will be used as the x-axis " "in the output workspace."); - declareProperty("Red", 1, "The period number for the 'red' data."); - declareProperty("Green", EMPTY_INT(), - "The period number for the 'green' data."); - - std::vector options; - options.push_back("Integral"); - options.push_back("Differential"); - declareProperty("Type", "Integral", - boost::make_shared(options), - "The calculation type: 'Integral' or 'Differential'."); std::vector optionsLog; optionsLog.push_back("Mean"); @@ -112,8 +102,18 @@ void PlotAsymmetryByLogValue::init() { optionsLog.push_back("Last"); declareProperty("Function", "Last", boost::make_shared(optionsLog), - "The calculation type: 'Integral' or 'Differential'."); + "The function to apply: 'Mean', 'Min', 'Max', 'First' or 'Last'."); + declareProperty("Red", 1, "The period number for the 'red' data."); + declareProperty("Green", EMPTY_INT(), + "The period number for the 'green' data."); + + std::vector options; + options.push_back("Integral"); + options.push_back("Differential"); + declareProperty("Type", "Integral", + boost::make_shared(options), + "The calculation type: 'Integral' or 'Differential'."); declareProperty( "TimeMin", EMPTY_DBL(), "The beginning of the time interval used in the calculations."); From bf371e4708f3434cc512a8c8e183187350d06e37 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Mon, 23 Feb 2015 10:38:13 +0000 Subject: [PATCH 098/112] Re #7083 Adding user example --- .../algorithms/PlotAsymmetryByLogValue-v1.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Code/Mantid/docs/source/algorithms/PlotAsymmetryByLogValue-v1.rst b/Code/Mantid/docs/source/algorithms/PlotAsymmetryByLogValue-v1.rst index 0b65fd8ae3dd..f091f41e8c53 100644 --- a/Code/Mantid/docs/source/algorithms/PlotAsymmetryByLogValue-v1.rst +++ b/Code/Mantid/docs/source/algorithms/PlotAsymmetryByLogValue-v1.rst @@ -141,4 +141,22 @@ Output: Y values (asymmetry): [ 0.14542059 0.13674275 0.12017568] X values (sample magn. field): [ 1350. 1360. 1370.] +**Example - Calculating asymmetry as a function of the sample mean temperature:** + +.. testcode:: ExLogValueFunction + + ws = PlotAsymmetryByLogValue(FirstRun="MUSR00015189", + LastRun="MUSR00015191", + LogValue="sample_temp", + Function="Mean") + print "Y values (asymmetry):", ws.readY(0) + print "X values (sample magn. field):", ws.readX(0) + +Output: + +.. testoutput:: ExLogValueFunction + + Y values (asymmetry): [ 0.15004357 0.14289412 0.12837688] + X values (sample magn. field): [ 290. 290. 290.] + .. categories:: From e4f2806eb3e026482a3ad5a1f41e04390a5d21e8 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Mon, 23 Feb 2015 11:29:01 +0000 Subject: [PATCH 099/112] Re #7083 Adding unit test --- .../test/PlotAsymmetryByLogValueTest.h | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h b/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h index e6bed858dac2..6839681d40c2 100644 --- a/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h +++ b/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h @@ -254,6 +254,44 @@ class PlotAsymmetryByLogValueTest : public CxxTest::TestSuite AnalysisDataService::Instance().remove(ws); } + void test_LogValueFunction () + { + const std::string ws = "Test_DeadTimeCorrection_FromRunData_Ws"; + + PlotAsymmetryByLogValue alg; + + TS_ASSERT_THROWS_NOTHING(alg.initialize()); + + alg.setPropertyValue("FirstRun", firstRun); + alg.setPropertyValue("LastRun", lastRun); + alg.setPropertyValue("OutputWorkspace", ws); + // We use 'beamlog_current' as log value because + // we want to test the 'Mean' function below and this is + // one of the few properties that contains different values over time + alg.setPropertyValue("LogValue","beamlog_current"); + alg.setPropertyValue("Function","Mean"); + alg.setPropertyValue("DeadTimeCorrType","None"); + + TS_ASSERT_THROWS_NOTHING(alg.execute()); + TS_ASSERT(alg.isExecuted()); + + MatrixWorkspace_sptr outWs = boost::dynamic_pointer_cast( + AnalysisDataService::Instance().retrieve(ws)); + + TS_ASSERT(outWs); + TS_ASSERT_EQUALS(outWs->blocksize(), 2); + TS_ASSERT_EQUALS(outWs->getNumberHistograms(),1); + + // Now we want to test X values (log values) in the output workspace + // rather than asymmetry (Y values) + const Mantid::MantidVec& X = outWs->readX(0); + + TS_ASSERT_DELTA(X[0], 179.078620, 0.00001); + TS_ASSERT_DELTA(X[1], 178.849998, 0.00001); + + AnalysisDataService::Instance().remove(ws); + } + private: std::string firstRun,lastRun; From 6477d24c2783772856641f46c996d0378ccd42ca Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Mon, 23 Feb 2015 11:51:36 +0000 Subject: [PATCH 100/112] Re #7083 Change workspace name in unit test --- .../Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h b/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h index 6839681d40c2..2ec9773aeab6 100644 --- a/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h +++ b/Code/Mantid/Framework/Algorithms/test/PlotAsymmetryByLogValueTest.h @@ -256,7 +256,7 @@ class PlotAsymmetryByLogValueTest : public CxxTest::TestSuite void test_LogValueFunction () { - const std::string ws = "Test_DeadTimeCorrection_FromRunData_Ws"; + const std::string ws = "Test_LogValueFunction"; PlotAsymmetryByLogValue alg; From 313b67cfc0a25cf320935630a01430443e240ec5 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Mon, 23 Feb 2015 14:04:01 +0000 Subject: [PATCH 101/112] Re #7083 Get property value --- .../Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp index f8b4ed0d3f3b..3c158a3b403b 100644 --- a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp @@ -171,7 +171,7 @@ void PlotAsymmetryByLogValue::exec() { std::string firstFN = getProperty("FirstRun"); std::string lastFN = getProperty("LastRun"); // Get function to apply to logValue - m_logFunc = getProperty("Function"); + m_logFunc = getPropertyValue("Function"); // Parse run names and get the number of runs std::string fnBase, fnExt; From 91d9053169f668ebfb04ccdd739ea0d4c61ea377 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Mon, 23 Feb 2015 15:58:01 +0000 Subject: [PATCH 102/112] Re #10068 Search for first/last run in the other directory --- .../src/PlotAsymmetryByLogValue.cpp | 73 ++++++++++++++----- 1 file changed, 53 insertions(+), 20 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp index bc9cb6bda5c6..82ce4393460d 100644 --- a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp @@ -8,6 +8,7 @@ #include #include "MantidAPI/FileProperty.h" +#include #include "MantidAPI/Progress.h" #include "MantidAPI/ScopedWorkspace.h" #include "MantidAPI/TableRow.h" @@ -21,6 +22,7 @@ #include "MantidKernel/MandatoryValidator.h" #include "MantidKernel/PropertyWithValue.h" #include "MantidKernel/TimeSeriesProperty.h" +#include "Poco/File.h" #include #include @@ -353,34 +355,65 @@ void PlotAsymmetryByLogValue::populateOutputWorkspace (MatrixWorkspace_sptr &out void PlotAsymmetryByLogValue::parseRunNames (std::string& firstFN, std::string& lastFN, std::string& fnBase, std::string& fnExt) { - if ( firstFN.size() != lastFN.size() ) - { - throw std::runtime_error("First and last runs are not in the same directory\n"); - } - - fnExt = firstFN.substr(firstFN.find_last_of(".")); - + // Parse first run's name + std::string firstExt = firstFN.substr(firstFN.find_last_of(".")); firstFN.erase(firstFN.size() - 4); - lastFN.erase(lastFN.size() - 4); - fnBase = firstFN; - size_t i = fnBase.size() - 1; - while (isdigit(fnBase[i])) + std::string firstBase = firstFN; + size_t i = firstBase.size() - 1; + while (isdigit(firstBase[i])) i--; - if (i == fnBase.size() - 1) { + if (i == firstBase.size() - 1) { throw Exception::FileError("File name must end with a number.", firstFN); } - fnBase.erase(i + 1); + firstBase.erase(i + 1); + firstFN.erase(0, firstBase.size()); - std::string fnBase2 = lastFN; - fnBase2.erase(i + 1); - if ( fnBase != fnBase2 ) - { - throw std::runtime_error("First and last runs are not in the same directory\n"); + // Parse last run's name + std::string lastExt = lastFN.substr(lastFN.find_last_of(".")); + lastFN.erase(lastFN.size() - 4); + + std::string lastBase = lastFN; + i = lastBase.size() - 1; + while (isdigit(lastBase[i])) + i--; + if (i == lastBase.size() - 1) { + throw Exception::FileError("File name must end with a number.", lastFN); } + lastBase.erase(i + 1); + lastFN.erase(0, lastBase.size()); + + // Compare first and last + if ( firstBase != lastBase ) { + // Runs are not in the same directory + + // First run number with last base name + std::ostringstream tempFirst; + tempFirst << lastBase << firstFN << firstExt << std::endl; + std::string pathFirst = FileFinder::Instance().getFullPath(tempFirst.str()); + // Last run number with first base name + std::ostringstream tempLast; + tempLast << firstBase << lastFN << lastExt << std::endl; + std::string pathLast = FileFinder::Instance().getFullPath(tempLast.str()); + + // Try to correct this on the fly by + // checking if the last run can be found in the first directory... + if ( Poco::File(pathLast).exists() ) { + fnBase = firstBase; + fnExt = firstExt; + } else if (Poco::File(pathFirst).exists()) { + // ...or viceversa + fnBase = lastBase; + fnExt = lastExt; + } else { + throw std::runtime_error("First and last runs are not in the same directory."); + } + + } else { - firstFN.erase(0, fnBase.size()); - lastFN.erase(0, fnBase.size()); + fnBase = firstBase; + fnExt = firstExt; + } } /** Apply dead-time corrections. The calculation is done by ApplyDeadTimeCorr algorithm From 6b872e4177bb4e8a99f8acb42f275fb562648521 Mon Sep 17 00:00:00 2001 From: Pete Peterson Date: Mon, 23 Feb 2015 12:21:10 -0500 Subject: [PATCH 103/112] Re #11159. Adding enviroment variable for qt. --- Code/Mantid/Build/CMake/Packaging/launch_mantidplot.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Mantid/Build/CMake/Packaging/launch_mantidplot.sh.in b/Code/Mantid/Build/CMake/Packaging/launch_mantidplot.sh.in index 94ac4695d25a..33556e1b1c79 100644 --- a/Code/Mantid/Build/CMake/Packaging/launch_mantidplot.sh.in +++ b/Code/Mantid/Build/CMake/Packaging/launch_mantidplot.sh.in @@ -21,4 +21,4 @@ else fi # Launch -LD_PRELOAD=${LOCAL_PRELOAD} TCMALLOC_RELEASE_RATE=${TCM_RELEASE} LD_LIBRARY_PATH=${LOCAL_LDPATH} @WRAPPER_PREFIX@$INSTALLDIR/@MANTIDPLOT_EXEC@ $*@WRAPPER_POSTFIX@ +LD_PRELOAD=${LOCAL_PRELOAD} TCMALLOC_RELEASE_RATE=${TCM_RELEASE} LD_LIBRARY_PATH=${LOCAL_LDPATH} QT_API=pyqt @WRAPPER_PREFIX@$INSTALLDIR/@MANTIDPLOT_EXEC@ $*@WRAPPER_POSTFIX@ From a29befa9d042870c5df4c66ab8b5ee316985c0a9 Mon Sep 17 00:00:00 2001 From: Vickie Lynch Date: Mon, 23 Feb 2015 15:52:13 -0500 Subject: [PATCH 104/112] Refs #11034 change structure of if tests --- .../Framework/MDEvents/src/IntegrateEllipsoids.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp b/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp index c413ae0d2bd5..a6ce772e81bd 100644 --- a/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp +++ b/Code/Mantid/Framework/MDEvents/src/IntegrateEllipsoids.cpp @@ -277,11 +277,12 @@ void IntegrateEllipsoids::exec() { axes_radii, inti, sigi); peaks[i].setIntensity(inti); peaks[i].setSigmaIntensity(sigi); - if (axes_radii.size() == 3 && (inti/sigi > cutoffIsigI || cutoffIsigI == EMPTY_DBL())) - { - principalaxis1.push_back(axes_radii[0]); - principalaxis2.push_back(axes_radii[1]); - principalaxis3.push_back(axes_radii[2]); + if (axes_radii.size() == 3) { + if (inti/sigi > cutoffIsigI || cutoffIsigI == EMPTY_DBL()){ + principalaxis1.push_back(axes_radii[0]); + principalaxis2.push_back(axes_radii[1]); + principalaxis3.push_back(axes_radii[2]); + } } } else { peaks[i].setIntensity(0.0); From c4a3184faad133b4a8e0550cd20c5b3eb5d0bb9f Mon Sep 17 00:00:00 2001 From: Pete Peterson Date: Mon, 23 Feb 2015 13:36:30 -0500 Subject: [PATCH 105/112] Re #1100. Updated cmake_mimimum_required --- Code/Mantid/CMakeLists.txt | 4 ++-- Code/Mantid/Framework/CMakeLists.txt | 2 +- .../MDEWRebinningCutterOperator/CMakeLists.txt | 2 +- Code/Mantid/Vates/VatesAPI/CMakeLists.txt | 2 +- .../Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Code/Mantid/CMakeLists.txt b/Code/Mantid/CMakeLists.txt index 2b79286d6eb5..ab8bbf7f3180 100644 --- a/Code/Mantid/CMakeLists.txt +++ b/Code/Mantid/CMakeLists.txt @@ -1,8 +1,8 @@ ########################################################################### # CMake version check. -# Only versions after 2.8.5 will find the HL component for HDF5 +# Only versions after 2.8.12 will find the HL component for HDF5 ########################################################################### -cmake_minimum_required ( VERSION 2.8.5 ) +cmake_minimum_required ( VERSION 2.8.12 ) # System package target is important for the windows builds as it allows us to package only the dlls and exes and exclude libs. Defaults to empty for other platforms. set ( SYSTEM_PACKAGE_TARGET "") diff --git a/Code/Mantid/Framework/CMakeLists.txt b/Code/Mantid/Framework/CMakeLists.txt index 03c5ab5792d2..630c149b4db8 100644 --- a/Code/Mantid/Framework/CMakeLists.txt +++ b/Code/Mantid/Framework/CMakeLists.txt @@ -1,5 +1,5 @@ # This is mainly here so you don't get a complaint when running cmake -cmake_minimum_required (VERSION 2.8.5) +cmake_minimum_required (VERSION 2.8.12) # Add the path to our custom 'find' modules set ( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../Build/CMake") diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/MDEWRebinningCutterOperator/CMakeLists.txt b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/MDEWRebinningCutterOperator/CMakeLists.txt index de4001a08005..605bc5c0a1e6 100644 --- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/MDEWRebinningCutterOperator/CMakeLists.txt +++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewFilters/MDEWRebinningCutterOperator/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required( VERSION 2.6) +cmake_minimum_required( VERSION 2.8.12 ) project( MantidParaViewMDEWRebinningCutter ) add_paraview_plugin( MantidParaViewMDEWRebinningCutterSMPlugin "1.0" diff --git a/Code/Mantid/Vates/VatesAPI/CMakeLists.txt b/Code/Mantid/Vates/VatesAPI/CMakeLists.txt index 72465397a248..8384d524d947 100644 --- a/Code/Mantid/Vates/VatesAPI/CMakeLists.txt +++ b/Code/Mantid/Vates/VatesAPI/CMakeLists.txt @@ -1,5 +1,5 @@ # This is mainly here so you don't get a complaint when running cmake -cmake_minimum_required( VERSION 2.6 ) +cmake_minimum_required( VERSION 2.8.12 ) project( VatesAPI ) diff --git a/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt b/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt index 974b1551cf30..0b35b412adfe 100644 --- a/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt +++ b/Code/Mantid/Vates/VatesSimpleGui/StandAloneExec/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required( VERSION 2.8 ) +cmake_minimum_required( VERSION 2.8.12 ) project( VatesSimpleGui ) set( PROJECT_NAME VatesSimpleGui ) From 519cca19201f4a9589aa4dc333ec06ef37b0bc59 Mon Sep 17 00:00:00 2001 From: Pete Peterson Date: Mon, 23 Feb 2015 14:22:27 -0500 Subject: [PATCH 106/112] Re #11000. Removing un-needed Find*.cmake files --- Code/Mantid/Build/CMake/FindMatlab.cmake | 57 ----- Code/Mantid/Build/CMake/FindPythonLibs.cmake | 218 ------------------- 2 files changed, 275 deletions(-) delete mode 100644 Code/Mantid/Build/CMake/FindMatlab.cmake delete mode 100644 Code/Mantid/Build/CMake/FindPythonLibs.cmake diff --git a/Code/Mantid/Build/CMake/FindMatlab.cmake b/Code/Mantid/Build/CMake/FindMatlab.cmake deleted file mode 100644 index 685006f10be6..000000000000 --- a/Code/Mantid/Build/CMake/FindMatlab.cmake +++ /dev/null @@ -1,57 +0,0 @@ -# Based upon FindMatlab.cmake from the CMake 2.8.3 distribution -# The script included with the distribution fails to find Matlab as it contains references -# to paths that no longer exist within Matlab - -# NOTE: Unsupported on Linux/Mac as I can't get a working version there to test it. Plus it was never built there before ... - -# Defines: -# MATLAB_INCLUDE_DIR: include path for mex.h, engine.h -# MATLAB_LIBRARIES: required libraries: libmex, etc -# MATLAB_MEX_LIBRARY: path to libmex.lib -# MATLAB_MX_LIBRARY: path to libmx.lib -# MATLAB_ENG_LIBRARY: path to libeng.lib - -if ( MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES ) - # Already in cache, be silent - set ( MATLAB_FOUND TRUE ) -endif () - -set ( MATLAB_FOUND FALSE ) -if ( WIN32 ) - # There seems to be know better way of querying the keys in the registry so we'll have to assume that all of the versions are 7.XX and search for these - set ( MATLAB_MAJOR_VERSION "7" ) - set ( REGISTRY_ROOT "HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB" ) - set ( REGISTRY_KEY "MATLABROOT" ) - set ( EXTERN_INCLUDE "/extern/include") - set ( EXTERN_SRC "/extern/src") - if( CMAKE_CL_64 ) - set( EXTERN_LIB "/extern/lib/win64/microsoft/" ) - else () - set( EXTERN_LIB "/extern/lib/win32/microsoft/" ) - endif () - # We'll assume we want to link to the oldest version so that it is most likely to be forward compatible. - # 2010 = 7.11 so stop at 15? - foreach ( MATLAB_MINOR_VERSION RANGE 1 15 ) - find_library ( MATLAB_MEX_LIBRARY libmex "[${REGISTRY_ROOT}\\${MATLAB_MAJOR_VERSION}.${MATLAB_MINOR_VERSION};${REGISTRY_KEY}]${EXTERN_LIB}" ) - find_library ( MATLAB_MX_LIBRARY libmx "[${REGISTRY_ROOT}\\${MATLAB_MAJOR_VERSION}.${MATLAB_MINOR_VERSION};${REGISTRY_KEY}]${EXTERN_LIB}" ) - find_library ( MATLAB_ENG_LIBRARY libeng "[${REGISTRY_ROOT}\\${MATLAB_MAJOR_VERSION}.${MATLAB_MINOR_VERSION};${REGISTRY_KEY}]${EXTERN_LIB}" ) - find_library ( MATLAB_MAT_LIBRARY libmat "[${REGISTRY_ROOT}\\${MATLAB_MAJOR_VERSION}.${MATLAB_MINOR_VERSION};${REGISTRY_KEY}]${EXTERN_LIB}" ) - set ( MATLAB_LIBRARIES ${MATLAB_MEX_LIBRARY} ${MATLAB_MX_LIBRARY} ${MATLAB_ENG_LIBRARY} ${MATLAB_MAT_LIBRARY} ) - find_path( MATLAB_INCLUDE_DIR "mex.h" "[${REGISTRY_ROOT}\\${MATLAB_MAJOR_VERSION}.${MATLAB_MINOR_VERSION};${REGISTRY_KEY}]${EXTERN_INCLUDE}" ) - find_path( MATLAB_EXTERN_SRC "mwdebug.c" "[${REGISTRY_ROOT}\\${MATLAB_MAJOR_VERSION}.${MATLAB_MINOR_VERSION};${REGISTRY_KEY}]${EXTERN_SRC}" ) - if ( MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES AND MATLAB_EXTERN_SRC ) - if ( NOT MATLAB_FIND_QUIETLY ) - message ( STATUS "Found Matlab: ${MATLAB_INCLUDE_DIR}" ) - endif () - set ( MATLAB_FOUND 1 ) - break () - endif () - endforeach ( MATLAB_MINOR_VERSION ) - - # Clean up temporary variables - set ( MATLAB_MAJOR_VERSION ) - set ( REGISTRY_ROOT ) - set ( REGISTRY_KEY ) - set ( EXTERN_INCLUDE ) - -endif () diff --git a/Code/Mantid/Build/CMake/FindPythonLibs.cmake b/Code/Mantid/Build/CMake/FindPythonLibs.cmake deleted file mode 100644 index acd7ff4ba5c3..000000000000 --- a/Code/Mantid/Build/CMake/FindPythonLibs.cmake +++ /dev/null @@ -1,218 +0,0 @@ -# Taken from the CMake 2.8.3 distribution -# Contains a fix to find the shared library on Linux, which isn't present -# in default Redhat CMake version (2.6.4) - -# - Find python libraries -# This module finds if Python is installed and determines where the -# include files and libraries are. It also determines what the name of -# the library is. This code sets the following variables: -# -# PYTHONLIBS_FOUND - have the Python libs been found -# PYTHON_LIBRARIES - path to the python library -# PYTHON_INCLUDE_PATH - path to where Python.h is found (deprecated) -# PYTHON_INCLUDE_DIRS - path to where Python.h is found -# PYTHON_DEBUG_LIBRARIES - path to the debug library -# - -#============================================================================= -# CMake - Cross Platform Makefile Generator -# Copyright 2000-2009 Kitware, Inc., Insight Software Consortium -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# * Neither the names of Kitware, Inc., the Insight Software Consortium, -# nor the names of their contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#============================================================================= - -INCLUDE(CMakeFindFrameworks) -# Search for the python framework on Apple. -CMAKE_FIND_FRAMEWORKS(Python) - -FOREACH(_CURRENT_VERSION 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5) - STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION}) - IF(WIN32) - FIND_LIBRARY(PYTHON_DEBUG_LIBRARY - NAMES python${_CURRENT_VERSION_NO_DOTS}_d python - PATHS - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs - [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug - [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs"${CMAKE_LIBRARY_PATH}/Python"${_CURRENT_VERSION_NO_DOTS}) - ENDIF(WIN32) - - FIND_LIBRARY(PYTHON_LIBRARY - NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION} - PATHS - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs - [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs - # Avoid finding the .dll in the PATH. We want the .lib. - NO_SYSTEM_ENVIRONMENT_PATH - ) - # Look for the static library in the Python config directory - FIND_LIBRARY(PYTHON_LIBRARY - NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION} - # Avoid finding the .dll in the PATH. We want the .lib. - NO_SYSTEM_ENVIRONMENT_PATH - # This is where the static library is usually located - PATH_SUFFIXES python${_CURRENT_VERSION}/config - ) - - # For backward compatibility, honour value of PYTHON_INCLUDE_PATH, if - # PYTHON_INCLUDE_DIR is not set. - IF(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR) - SET(PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_PATH}" CACHE PATH - "Path to where Python.h is found" FORCE) - ENDIF(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR) - - SET(PYTHON_FRAMEWORK_INCLUDES) - IF(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR) - FOREACH(dir ${Python_FRAMEWORKS}) - SET(PYTHON_FRAMEWORK_INCLUDES ${PYTHON_FRAMEWORK_INCLUDES} - ${dir}/Versions/${_CURRENT_VERSION}/include/python${_CURRENT_VERSION}) - ENDFOREACH(dir) - ENDIF(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR) - - FIND_PATH(PYTHON_INCLUDE_DIR - NAMES Python.h - PATHS - ${PYTHON_FRAMEWORK_INCLUDES} - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/include - [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/include - PATH_SUFFIXES - python${_CURRENT_VERSION} - ) - - # For backward compatibility, set PYTHON_INCLUDE_PATH, but make it internal. - SET(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}" CACHE INTERNAL - "Path to where Python.h is found (deprecated)") - -ENDFOREACH(_CURRENT_VERSION) - -MARK_AS_ADVANCED( - PYTHON_DEBUG_LIBRARY - PYTHON_LIBRARY - PYTHON_INCLUDE_DIR -) - -# We use PYTHON_INCLUDE_DIR, PYTHON_LIBRARY and PYTHON_DEBUG_LIBRARY for the -# cache entries because they are meant to specify the location of a single -# library. We now set the variables listed by the documentation for this -# module. -SET(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}") -SET(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") -SET(PYTHON_DEBUG_LIBRARIES "${PYTHON_DEBUG_LIBRARY}") - - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs DEFAULT_MSG PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) - - -# PYTHON_ADD_MODULE( src1 src2 ... srcN) is used to build modules for python. -# PYTHON_WRITE_MODULES_HEADER() writes a header file you can include -# in your sources to initialize the static python modules -FUNCTION(PYTHON_ADD_MODULE _NAME ) - GET_PROPERTY(_TARGET_SUPPORTS_SHARED_LIBS - GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS) - OPTION(PYTHON_ENABLE_MODULE_${_NAME} "Add module ${_NAME}" TRUE) - OPTION(PYTHON_MODULE_${_NAME}_BUILD_SHARED - "Add module ${_NAME} shared" ${_TARGET_SUPPORTS_SHARED_LIBS}) - - # Mark these options as advanced - MARK_AS_ADVANCED(PYTHON_ENABLE_MODULE_${_NAME} - PYTHON_MODULE_${_NAME}_BUILD_SHARED) - - IF(PYTHON_ENABLE_MODULE_${_NAME}) - IF(PYTHON_MODULE_${_NAME}_BUILD_SHARED) - SET(PY_MODULE_TYPE MODULE) - ELSE(PYTHON_MODULE_${_NAME}_BUILD_SHARED) - SET(PY_MODULE_TYPE STATIC) - SET_PROPERTY(GLOBAL APPEND PROPERTY PY_STATIC_MODULES_LIST ${_NAME}) - ENDIF(PYTHON_MODULE_${_NAME}_BUILD_SHARED) - - SET_PROPERTY(GLOBAL APPEND PROPERTY PY_MODULES_LIST ${_NAME}) - ADD_LIBRARY(${_NAME} ${PY_MODULE_TYPE} ${ARGN}) -# TARGET_LINK_LIBRARIES(${_NAME} ${PYTHON_LIBRARIES}) - - IF(PYTHON_MODULE_${_NAME}_BUILD_SHARED) - SET_TARGET_PROPERTIES(${_NAME} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}") - IF(WIN32 AND NOT CYGWIN) - SET_TARGET_PROPERTIES(${_NAME} PROPERTIES SUFFIX ".pyd") - ENDIF(WIN32 AND NOT CYGWIN) - ENDIF(PYTHON_MODULE_${_NAME}_BUILD_SHARED) - - ENDIF(PYTHON_ENABLE_MODULE_${_NAME}) -ENDFUNCTION(PYTHON_ADD_MODULE) - -FUNCTION(PYTHON_WRITE_MODULES_HEADER _filename) - - GET_PROPERTY(PY_STATIC_MODULES_LIST GLOBAL PROPERTY PY_STATIC_MODULES_LIST) - - GET_FILENAME_COMPONENT(_name "${_filename}" NAME) - STRING(REPLACE "." "_" _name "${_name}") - STRING(TOUPPER ${_name} _nameUpper) - - SET(_filenameTmp "${_filename}.in") - FILE(WRITE ${_filenameTmp} "/*Created by cmake, do not edit, changes will be lost*/\n") - FILE(APPEND ${_filenameTmp} -"#ifndef ${_nameUpper} -#define ${_nameUpper} - -#include - -#ifdef __cplusplus -extern \"C\" { -#endif /* __cplusplus */ - -") - - FOREACH(_currentModule ${PY_STATIC_MODULES_LIST}) - FILE(APPEND ${_filenameTmp} "extern void init${PYTHON_MODULE_PREFIX}${_currentModule}(void);\n\n") - ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST}) - - FILE(APPEND ${_filenameTmp} -"#ifdef __cplusplus -} -#endif /* __cplusplus */ - -") - - - FOREACH(_currentModule ${PY_STATIC_MODULES_LIST}) - FILE(APPEND ${_filenameTmp} "int ${_name}_${_currentModule}(void) \n{\n static char name[]=\"${PYTHON_MODULE_PREFIX}${_currentModule}\"; return PyImport_AppendInittab(name, init${PYTHON_MODULE_PREFIX}${_currentModule});\n}\n\n") - ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST}) - - FILE(APPEND ${_filenameTmp} "void ${_name}_LoadAllPythonModules(void)\n{\n") - FOREACH(_currentModule ${PY_STATIC_MODULES_LIST}) - FILE(APPEND ${_filenameTmp} " ${_name}_${_currentModule}();\n") - ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST}) - FILE(APPEND ${_filenameTmp} "}\n\n") - FILE(APPEND ${_filenameTmp} "#ifndef EXCLUDE_LOAD_ALL_FUNCTION\nvoid CMakeLoadAllPythonModules(void)\n{\n ${_name}_LoadAllPythonModules();\n}\n#endif\n\n#endif\n") - -# with CONFIGURE_FILE() cmake complains that you may not use a file created using FILE(WRITE) as input file for CONFIGURE_FILE() - EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_filenameTmp}" "${_filename}" OUTPUT_QUIET ERROR_QUIET) - -ENDFUNCTION(PYTHON_WRITE_MODULES_HEADER) From 5c8849fb29b1995ce198d4c0ce3e3abd665489a5 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Tue, 24 Feb 2015 08:41:42 +0000 Subject: [PATCH 107/112] Re #10068 Adding warning message --- .../Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp index 82ce4393460d..89c039cfa4cd 100644 --- a/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp +++ b/Code/Mantid/Framework/Algorithms/src/PlotAsymmetryByLogValue.cpp @@ -401,10 +401,14 @@ void PlotAsymmetryByLogValue::parseRunNames (std::string& firstFN, std::string& if ( Poco::File(pathLast).exists() ) { fnBase = firstBase; fnExt = firstExt; + g_log.warning() << "First and last run are not in the same directory. File " + << pathLast << " will be used instead." << std::endl; } else if (Poco::File(pathFirst).exists()) { // ...or viceversa fnBase = lastBase; fnExt = lastExt; + g_log.warning() << "First and last run are not in the same directory. File " + << pathFirst << " will be used instead." << std::endl; } else { throw std::runtime_error("First and last runs are not in the same directory."); } From ba8ef822e7ea4dfc573942700cfd6eb55415692c Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 24 Feb 2015 11:01:51 +0000 Subject: [PATCH 108/112] Fix broken indirect interfcaes Refs #11166 --- .../MantidQtCustomInterfaces/Indirect/ApplyCorr.ui | 2 +- .../CustomInterfaces/src/Indirect/ApplyCorr.cpp | 13 ++----------- .../MantidQt/CustomInterfaces/src/Indirect/Fury.cpp | 2 -- .../CustomInterfaces/src/Indirect/Quasi.cpp | 2 +- .../CustomInterfaces/src/Indirect/ResNorm.cpp | 2 +- .../CustomInterfaces/src/Indirect/Stretch.cpp | 2 +- 6 files changed, 6 insertions(+), 17 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ApplyCorr.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ApplyCorr.ui index dff69d081f13..4c9363a65e14 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ApplyCorr.ui +++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ApplyCorr.ui @@ -97,7 +97,7 @@ - false + true diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ApplyCorr.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ApplyCorr.cpp index 2af7c0b021bc..7ca36c482874 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ApplyCorr.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ApplyCorr.cpp @@ -60,7 +60,7 @@ namespace IDA geom = "cyl"; } - QString pyInput = "from IndirectDataAnalysis import abscorFeeder, loadNexus\n"; + QString pyInput = "from IndirectDataAnalysis import abscorFeeder\n"; QString sample = m_uiForm.dsSample->getCurrentDataName(); MatrixWorkspace_const_sptr sampleWs = AnalysisDataService::Instance().retrieveWS(sample.toStdString()); @@ -102,16 +102,7 @@ namespace IDA { pyInput += "useCor = True\n"; QString corrections = m_uiForm.dsCorrections->getCurrentDataName(); - if ( !Mantid::API::AnalysisDataService::Instance().doesExist(corrections.toStdString()) ) - { - pyInput += - "corrections = loadNexus(r'" + m_uiForm.dsCorrections->getFullFilePath() + "')\n"; - } - else - { - pyInput += - "corrections = '" + corrections + "'\n"; - } + pyInput += "corrections = '" + corrections + "'\n"; } else { diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Fury.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Fury.cpp index c7c3867669e9..e131644b51ea 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Fury.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Fury.cpp @@ -105,7 +105,6 @@ namespace IDA furyAlg->setProperty("NumBins", numBins); furyAlg->setProperty("Plot", plot); - furyAlg->setProperty("Verbose", true); furyAlg->setProperty("Save", save); furyAlg->setProperty("DryRun", false); @@ -205,7 +204,6 @@ namespace IDA furyAlg->setProperty("NumBins", numBins); furyAlg->setProperty("Plot", false); - furyAlg->setProperty("Verbose", true); furyAlg->setProperty("Save", false); furyAlg->setProperty("DryRun", true); diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Quasi.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Quasi.cpp index aab618bf18e3..7cb65da529e0 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Quasi.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Quasi.cpp @@ -190,7 +190,7 @@ namespace MantidQt pyInput += "QLRun('"+program+"','"+sampleName+"','"+resName+"','"+resNormFile+"',"+eRange+"," " "+nBins+","+fitOps+",'"+fixedWidthFile+"',"+sequence+", " - " Save="+save+", Plot='"+plot+"', Verbose=True)\n"; + " Save="+save+", Plot='"+plot+"')\n"; runPythonScript(pyInput); diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ResNorm.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ResNorm.cpp index 354d1f50df9e..6cd8e4e43a6a 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ResNorm.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ResNorm.cpp @@ -97,7 +97,7 @@ namespace MantidQt QString plot = m_uiForm.cbPlot->currentText(); pyInput += "ResNormRun('"+VanName+"', '"+ResName+"', "+ERange+", "+nBin+"," - " Save="+save+", Plot='"+plot+"', Verbose=True)\n"; + " Save="+save+", Plot='"+plot+"')\n"; runPythonScript(pyInput); diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Stretch.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Stretch.cpp index 98a8c958ed76..78f13b6113eb 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Stretch.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/Stretch.cpp @@ -126,7 +126,7 @@ namespace MantidQt QString plot = m_uiForm.cbPlot->currentText(); pyInput += "QuestRun('"+sampleName+"','"+resName+"',"+betaSig+","+eRange+","+nBins+","+fitOps+","+sequence+"," - " Save="+save+", Plot='"+plot+"', Verbose=True)\n"; + " Save="+save+", Plot='"+plot+"')\n"; runPythonScript(pyInput); } From fce761a022b1d45c514b9c599095a6bb253f73a4 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 24 Feb 2015 11:51:44 +0000 Subject: [PATCH 109/112] Fix Docygen warnings in PreviewPlot Refs #11168 --- Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp b/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp index 376582042ef4..5edd1d493f9b 100644 --- a/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp +++ b/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp @@ -194,7 +194,7 @@ QPair PreviewPlot::getCurveRange(const Mantid::API::MatrixWorksp /** * Gets the X range of a curve given its name. * - * @param wsName Name of curve + * @param curveName Name of curve */ QPair PreviewPlot::getCurveRange(const QString & curveName) { @@ -217,7 +217,7 @@ QPair PreviewPlot::getCurveRange(const QString & curveName) * Adds a workspace to the preview plot given a pointer to it. * * @param curveName Name of curve - * @param wsName Name of workspace in ADS + * @param ws Pointer to the workspace * @param specIndex Spectrum index to plot * @param curveColour Colour of curve to plot */ @@ -292,7 +292,7 @@ void PreviewPlot::removeSpectrum(const MatrixWorkspace_sptr ws) /** * Removes spectra from a gievn workspace from the plot given its name. * - * @param wsName Name of curve + * @param curveName Name of curve */ void PreviewPlot::removeSpectrum(const QString & curveName) { @@ -460,7 +460,7 @@ void PreviewPlot::hardReplot() * * Removes it from the plot (via removeSpectrum). * - * @param pNF Poco notification + * @param pNf Poco notification */ void PreviewPlot::handleRemoveEvent(WorkspacePreDeleteNotification_ptr pNf) { @@ -625,7 +625,7 @@ QString PreviewPlot::getAxisType(int axisID) /** * Gets a list of curve names that are plotted form the given workspace. * - * @param Pointer to workspace + * @param ws Pointer to workspace * @return List of curve names */ QStringList PreviewPlot::getCurvesForWorkspace(const MatrixWorkspace_sptr ws) From 57ba3aebdbae9c17407b2e74cce1a013978d5c26 Mon Sep 17 00:00:00 2001 From: Michael Wedel Date: Tue, 24 Feb 2015 13:39:42 +0100 Subject: [PATCH 110/112] Refs #11169. Fixing doxygen errors in PeakFunctionIntegrator. --- Code/Mantid/Framework/API/src/PeakFunctionIntegrator.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Code/Mantid/Framework/API/src/PeakFunctionIntegrator.cpp b/Code/Mantid/Framework/API/src/PeakFunctionIntegrator.cpp index 75fcc48e3c40..b36896423ffc 100644 --- a/Code/Mantid/Framework/API/src/PeakFunctionIntegrator.cpp +++ b/Code/Mantid/Framework/API/src/PeakFunctionIntegrator.cpp @@ -12,7 +12,7 @@ namespace API { * See also PeakFunctionIntegrator::setRequiredRelativePrecision. * * @param requiredRelativePrecision :: Desired relative precision of the - *integral estimations. + * integral estimations. */ PeakFunctionIntegrator::PeakFunctionIntegrator(double requiredRelativePrecision) : m_integrationWorkspace(gsl_integration_workspace_alloc(1000)), @@ -69,6 +69,7 @@ IntegrationResult PeakFunctionIntegrator::integrateInfinity( * gsl_integration_qagiu is used for this. * * @param peakFunction :: Peak function to integrate. + * @param lowerLimit :: Lower limit of the integration. */ IntegrationResult PeakFunctionIntegrator::integratePositiveInfinity( const IPeakFunction &peakFunction, double lowerLimit) const { @@ -89,6 +90,7 @@ IntegrationResult PeakFunctionIntegrator::integratePositiveInfinity( * gsl_integration_qagil is used for this. * * @param peakFunction :: Peak function to integrate. + * @param upperLimit :: Upper limit of the integration. */ IntegrationResult PeakFunctionIntegrator::integrateNegativeInfinity( const IPeakFunction &peakFunction, double upperLimit) const { @@ -109,6 +111,8 @@ IntegrationResult PeakFunctionIntegrator::integrateNegativeInfinity( * gsl_integration_qags is used for this. * * @param peakFunction :: Peak function to integrate. + * @param lowerLimit :: Lower limit of the integration. + * @param upperLimit :: Upper limit of the integration. */ IntegrationResult PeakFunctionIntegrator::integrate(const IPeakFunction &peakFunction, From adc900f226f1b311b4f3d79cb5e056056c44bef4 Mon Sep 17 00:00:00 2001 From: Dan Nixon Date: Tue, 24 Feb 2015 13:58:21 +0000 Subject: [PATCH 111/112] Correct some spelling errors Refs #11168 --- .../MantidQt/MantidWidgets/src/PreviewPlot.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp b/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp index 5edd1d493f9b..b235a3935591 100644 --- a/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp +++ b/Code/Mantid/MantidQt/MantidWidgets/src/PreviewPlot.cpp @@ -274,9 +274,9 @@ void PreviewPlot::addSpectrum(const QString & curveName, const QString & wsName, /** - * Removes spectra from a gievn workspace from the plot given a pointer to it. + * Removes spectra from a given workspace from the plot given a pointer to it. * - * If multiple curves are plotted form the smae workspace then all wil lbe removed. + * If multiple curves are plotted form the same workspace then all will be removed. * * @param ws Pointer to workspace */ @@ -290,7 +290,7 @@ void PreviewPlot::removeSpectrum(const MatrixWorkspace_sptr ws) /** - * Removes spectra from a gievn workspace from the plot given its name. + * Removes spectra from a given workspace from the plot given its name. * * @param curveName Name of curve */ @@ -316,7 +316,7 @@ void PreviewPlot::removeSpectrum(const QString & curveName) /** - * Checks to see if a given curne name is present on the plot. + * Checks to see if a given curve name is present on the plot. * * @param curveName Curve name * @return True if curve is on plot @@ -564,7 +564,7 @@ void PreviewPlot::removeCurve(QwtPlotCurve * curve) /** - * Helper function for adding a set of items to an exclusive menu oon the context menu. + * Helper function for adding a set of items to an exclusive menu on the context menu. * * @param menuName Name of sub menu * @param group Pointer to ActionGroup @@ -598,7 +598,7 @@ QList PreviewPlot::addOptionsToMenus(QString menuName, QActionGroup * /** - * Returns the type of axis scale specified for a giev axis. + * Returns the type of axis scale specified for a given axis. * * @param axisID ID of axis * @return Axis type as string From bc3e5e596faf8b9b390e1189f9cd686396d25ba8 Mon Sep 17 00:00:00 2001 From: Anders Markvardsen Date: Tue, 24 Feb 2015 15:07:38 +0000 Subject: [PATCH 112/112] Parameter name change. re #10987 --- .../src/TOFSANSResolutionByPixel.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolutionByPixel.cpp b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolutionByPixel.cpp index bd062648c9c4..6b2cb131d0ce 100644 --- a/Code/Mantid/Framework/Algorithms/src/TOFSANSResolutionByPixel.cpp +++ b/Code/Mantid/Framework/Algorithms/src/TOFSANSResolutionByPixel.cpp @@ -3,14 +3,10 @@ //---------------------------------------------------------------------- #include "MantidAlgorithms/TOFSANSResolutionByPixel.h" #include "MantidAPI/WorkspaceValidators.h" -#include "MantidDataObjects/EventWorkspace.h" -#include "MantidDataObjects/EventList.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidKernel/RebinParamsValidator.h" #include "MantidKernel/ArrayProperty.h" -#include "MantidKernel/VectorHelper.h" -#include "MantidKernel/Interpolation.h" #include "MantidKernel/BoundedValidator.h" +#include "MantidKernel/Interpolation.h" #include "boost/math/special_functions/fpclassify.hpp" @@ -28,7 +24,7 @@ using namespace DataObjects; void TOFSANSResolutionByPixel::init() { declareProperty(new WorkspaceProperty<>( - "InputWorkspace", "", Direction::InOut, + "Workspace", "", Direction::InOut, boost::make_shared("Wavelength")), "Name the workspace to calculate the resolution for, for " "each pixel and wavelenght"); @@ -55,7 +51,7 @@ double TOFSANSResolutionByPixel::getTOFResolution(double wl) { } void TOFSANSResolutionByPixel::exec() { - MatrixWorkspace_sptr inOutWS = getProperty("InputWorkspace"); + MatrixWorkspace_sptr inOutWS = getProperty("Workspace"); double deltaR = getProperty("DeltaR"); double R1 = getProperty("SourceApertureRadius"); double R2 = getProperty("SampleApertureRadius"); @@ -99,9 +95,7 @@ void TOFSANSResolutionByPixel::exec() { const int numberOfSpectra = static_cast(inOutWS->getNumberHistograms()); Progress progress(this, 0.0, 1.0, numberOfSpectra); - // PARALLEL_FOR1(inOutWS) for (int i = 0; i < numberOfSpectra; i++) { - // PARALLEL_START_INTERUPT_REGION IDetector_const_sptr det; try { det = inOutWS->getDetector(i); @@ -109,11 +103,6 @@ void TOFSANSResolutionByPixel::exec() { g_log.information() << "Spectrum index " << i << " has no detector assigned to it - discarding" << std::endl; - // Catch if no detector. Next line tests whether this happened - test - // placed - // outside here because Mac Intel compiler doesn't like 'continue' in a - // catch - // in an openmp block. } // If no detector found or if it's masked or a monitor, skip onto the next // spectrum @@ -168,7 +157,6 @@ void TOFSANSResolutionByPixel::exec() { } progress.report("Computing Q resolution"); - // PARALLEL_END_INTERUPT_REGION } } } // namespace Algorithms