1import os
2import sys
3import subprocess
4
5
6catchPath = os.path.dirname(os.path.realpath( os.path.dirname(sys.argv[0])))
7
8def getBuildExecutable():
9    if os.name == 'nt':
10        dir = os.environ.get('CATCH_DEV_OUT_DIR', "cmake-build-debug/projects/SelfTest.exe")
11        return dir
12    else:
13        dir = os.environ.get('CATCH_DEV_OUT_DIR', "cmake-build-debug/projects/SelfTest")
14        return dir
15
16
17def runAndCapture( args ):
18    child = subprocess.Popen(" ".join( args ), shell=True, stdout=subprocess.PIPE)
19    lines = []
20    line = ""
21    while True:
22        out = child.stdout.read(1)
23        if out == '' and child.poll():
24            break
25        if out != '':
26            if out == '\n':
27                lines.append( line )
28                line = ""
29            else:
30                line = line + out
31    return lines
32