summaryrefslogtreecommitdiff
path: root/tests/test_cmdline_tool.py
diff options
context:
space:
mode:
authorDon Bright <hugh.m.bright@gmail.com>2011-12-31 23:02:34 (GMT)
committerDon Bright <hugh.m.bright@gmail.com>2011-12-31 23:02:34 (GMT)
commit3f1cb83f4b267db351842ed2a9e2640fac3045db (patch)
tree4a99e11d8eca6aed33e32fe5933332ae94f246fe /tests/test_cmdline_tool.py
parent3d686118bbced68f9a9af69339e2998b28139756 (diff)
various tweaks for cross compiling tests under mingw
Diffstat (limited to 'tests/test_cmdline_tool.py')
-rwxr-xr-xtests/test_cmdline_tool.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/tests/test_cmdline_tool.py b/tests/test_cmdline_tool.py
index 4538984..ef10a19 100755
--- a/tests/test_cmdline_tool.py
+++ b/tests/test_cmdline_tool.py
@@ -61,7 +61,11 @@ def execute_and_redirect(cmd, params, outfile):
else: return retval
def get_normalized_text(filename):
- text = open(filename).read()
+ try:
+ f = open(filename)
+ text = f.read()
+ except:
+ text = ''
return text.strip("\r\n").replace("\r\n", "\n") + "\n"
def compare_text(expected, actual):
@@ -71,8 +75,9 @@ def compare_default(resultfilename):
print >> sys.stderr, 'diff text compare: '
print >> sys.stderr, ' expected textfile: ', expectedfilename
print >> sys.stderr, ' actual textfile: ', resultfilename
- if not compare_text(expectedfilename, resultfilename):
- execute_and_redirect("diff", [expectedfilename, resultfilename], sys.stderr)
+ if not compare_text(expectedfilename, resultfilename):
+ if resultfilename:
+ execute_and_redirect("diff", [expectedfilename, resultfilename], sys.stderr)
return False
return True
@@ -136,8 +141,13 @@ def run_test(testname, cmd, args):
outputname = os.path.normpath( outputname )
outfile = open(outputname, "wb")
+
try:
- proc = subprocess.Popen([cmd] + args + [outputname], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ if os.path.isfile(cmd+'.exe'):
+ cmdline = ['wine']+[cmd+'.exe'] + args + [outputname]
+ else:
+ cmdline = [cmd] + args + [outputname]
+ proc = subprocess.Popen(cmdline, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
errtext = proc.communicate()[1]
if errtext != None and len(errtext) > 0:
print >> sys.stderr, "Error output: " + errtext
contact: Jan Huwald // Impressum