Hi Jurko,
Thanks a lot for the test-case - I should have provided one myself ...
Could you please post a small reproducible test case? I'll try to
reproduce it right now but many variants & questions pop to mind
(e.g. does the batch file output to stdout or stderr or does the batch
file contain the @echo off line, etc...).
It has echo off:
@echo off
setlocal enableextensions enabledelayedexpansion
set THISDIR=%~dp0
echo start loop
for %%I in ( %THISDIR%src\*.txt ) do (
rem %%~nxI is equivalent to `basename "${I}"` . see "FOR /?"
echo converting %%I
echo to %%~nxI
iconv -f iso-8859-1 -t utf-8 %%I > %%~nxI
)
echo end loop
And the python bit I changed to
# import os
# os.system( "worker.bat" )
import subprocess
command = ["worker.bat"]
subprocess.call(command)
Unfortunately I have not been able to reproduce the behaviour you
describe. I'm attaching my test case that seems to work as expected.
Same here, I changed to following to mimick my situation better
- use of subprocess (so Python can mess up stdin/out)
- a small loop in the .bat file
Just
unpack it into an empty folder, set the %PYTHON% environment variable
to point to your python interpreter (e.g. set PYTHON="C:\Program
Files\Python25\python.exe") and run bjam in that folder. You should get
an out.txt file containing the work 'testing' and no 'echo' command
used to produce that text.
I tried - I cannot reproduce my claim (yet)
I will try harder; as I had the situation in our build: with bjam
3.1.14 all went smoothly, with bjam 3.1.16 the builds went down because
somehow output was redirected to the wrong file ..
It might be in the python bit, as popen does its own magic with
stdin/out/err
Hope
this helps.
It does!
Best
regards,
Jurko Gospodnetić
Dirk
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
--
www.code-shop.com
+31 6 411 92 024