Ok, I just made one step further. In TestCmd.py when calling Popen I added 'shell = True': p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=chdir, universal_newlines=universal_newlines, shell = True) Now my output looks like: stdout: failure {{{ "['c:\\boost\\tools\\build\\v2\\test\\..\\engine\\bin.ntx86\\bjam.exe', '-sBOOST_BUILD_PATH="c:\\boost\\tools\\build\\v2\\test/.."', '-d0', '--quiet', '-ftest.jam', '--test-config="c:\\boost\\tools\\build\\v2\\test\\test-config.jam"', '--ignore-toolset-requirements']" returned 1 }}} reason {{{ unexpected status returned by bjam }}} changes caused by the last build command {{{ Added files : [] Removed files : [] Modified files: [] Touched files : [] }}} STDOUT {{{ }}} STDERR {{{ 'c:\boost\tools\build\v2\test\..\engine\bin.ntx86\bjam.exe' is not recognized as an internal or external command, operable program or batch file. }}} stacktrace {{{ at line 590 of c:\boost\tools\build\v2\test\BoostBuild.py (fail_test) from line 485 of c:\boost\tools\build\v2\test\BoostBuild.py (run_build_system) from line 11 of core_language.py (<module>) }}}