Skip to content
Snippets Groups Projects
Commit 6424dafe authored by Tobias Schmidt's avatar Tobias Schmidt Committed by Marco Biasini
Browse files

added version check for msms unit test, fixes BZDNG-176

parent 09d0cb66
Branches
Tags
No related merge requests found
......@@ -38,6 +38,21 @@ class MsmsProcessError(Exception):
return repr(self.returncode)
def GetVersion(msms_exe=None, msms_env=None):
msms_executable = _GetExecutable(msms_exe, msms_env)
command = "%s" % (msms_executable)
proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
stdout_value, stderr_value = proc.communicate()
version = ""
for l in stdout_value.splitlines():
if l[0:4]=='MSMS':
version = l.split(' ')[1]
return version
if version=="":
LogWarning('Could not parse MSMS version string')
return
## \brief Method to check if MSMS executable is present
#
# \param msms_exe Explicit path to msms executable
......@@ -120,7 +135,7 @@ def _RunMSMS(command):
#check for successful completion of msms
if proc.returncode!=0:
print "WARNING: msms error\n", stdout_value
raise subprocess.MsmsProcessError(proc.returncode, command)
raise MsmsProcessError(proc.returncode, command)
return stdout_value
......
......@@ -33,11 +33,15 @@ class TestMSMSBindings(unittest.TestCase):
if __name__ == "__main__":
# test if msms package is available on system, otherwise ignore tests
VERSION_REQUIRED = '2.6.1'
try:
msms._GetExecutable(msms_exe=None, msms_env='MSMSSERVER')
except(settings.FileNotFound):
print "Could not find msms executable: ignoring unit tests"
exit(0)
version = msms.GetVersion(msms_exe=None, msms_env='MSMSSERVER')
if version!=VERSION_REQUIRED:
print "MSMS version (%s) does not match required version %s: ignoring unit tests"%(version, VERSION_REQUIRED)
try:
unittest.main()
except Exception, e:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment