【发布时间】:2021-02-08 01:07:55
【问题描述】:
我有一个ROS 应用程序,它使用不同的 ros 节点启动几个不同的进程。除此之外,我还有一些脚本(启动这个节点)也运行一些 python 脚本。这是一个简化的例子:
服务器启动文件
<node pkg="ui" name="hmuiserver" type="server.py" launch-prefix="$(eval 'python3-coverage run --source=/opt/project/')"/>
启动脚本
if python3-coverage run /opt/proj/lib/feature_set.py; then
echo "Feature Enabled!"
fi
cmd="roslaunch ui hmui.launch"
$cmd
当我运行这个启动脚本时,我从python-coverage 收到一份覆盖率报告,其中涵盖了通过 server.py(ros 启动文件)运行的脚本。但我没有得到feature_set.py 脚本的报道。
如果我在两者上都使用run --parallel-mode,那么我只能从feature_set.py 获得覆盖,而不是从启动文件(是的,我正在使用python3-coverage combine)。
我猜这将与一些多进程的东西有关。 在这种情况下,我需要使用哪些设置来捕获两个文件的覆盖范围?
【问题讨论】:
标签: python python-3.x code-coverage ros