我有一个罗斯应用程序,它用不同的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)。
我猜这将与一些多进程的东西有关。在这个场景中,我需要使用哪些设置来捕获两个文件的覆盖率?
发布于 2021-02-08 13:21:21
我不知道ROS是什么,但是如果您有多个过程,您需要小心地保持它们的度量分离。parallel选项和coverage combine可能正是您所需要的。
https://stackoverflow.com/questions/66094744
复制相似问题