My target is to run a Commandline buildstep ( its a system test ) and to stop this step if a special text appears in the log.
For this I have the following code in the commandline of tc:
#Start the App
$ADB -s $SERIAL shell am start -S -a android.intent.action.MAIN -n %bundleIdentifier%/com.unity3d.player.UnityPlayerNativeActivity
#Check the Log
adb -s $SERIAL logcat %bundleId% -s Unity | tee logfile | /Applications/ReadADBAndCheck.py
in the python script I just check for the string:
for line in fileinput.input():
if "SYSTEM_TEST_DONE" in line:
if I start this in the normal console everything works like expected.
But if I start it in TC the last thing I see is "FINISH_FOUND" and then I see
tee: stdout: Broken pipe
every second - and stays forever
On a normal shell a non existing pipe should stop the script. ( which it does )
But it doesnt work on TC. Is there any setting for this or is this a bug ?
Any Ideas to fix this any other idea to approach the goal is highly appriciated.
Thanks in advance