我正在尝试使用strace跟踪运行单元测试中涉及的文件。执行此操作时,是否有办法捕获测试运行的退出代码?
@cmd="php -d auto_prepend_file=auto_prepend_for_tests.php /data/tests/sdk/bin/phpunit.phar --configuration /data/tests/conf/database.xml
my_test.php"
open(IN, "-|", "strace -ff $pid -e trace=file @cmd 2>&1")
答案 0 :(得分:1)
Strace将以与被跟踪程序相同的退出代码退出。到目前为止一切顺利。
开放看起来有点冷淡,是我们所说的perl吗?
然后来自perldoc -f open
的这一位适用:
关闭任何管道文件句柄会使父进程等待 子完成,然后以$返回状态值?和 “ $ {^ CHILD_ERROR_NATIVE}”。
是的,您可以通过调用close IN
并查看$?中的值来获取代码。