How to make rostest launch rosout?
I have a node that analyzes rosoutagg
messages to benchmark the robot's performance. I'd like to incorporate these benchmarks into a test, but it seems that the rosout
node is not started under rostest
, and so rosoutagg
is never published. (If I subscribe directly to rosout
, my node works the same under rostest
and roslaunch
.)
Is this the intended behavior? Is there a way to tell rostest
that I do want rosout
launched?
Asked by JohnStechschulte on 2020-06-01 12:37:33 UTC
Answers
I found a workaround. In the test script, simply launch a rosout
node, but with a different name:
<node name="rosout_test" pkg="rosout" type="rosout" />
This occurred to me while elbow-deep in debugging rostest
and roslaunch
. I'm suspicious that somehow rostest
thinks it launched rosout
but in fact did not. If someone out there can explain all this to me, I'd really appreciate it.
Asked by JohnStechschulte on 2020-06-03 23:01:46 UTC
Comments
Well, it is starting, because when I try to start one myself in the .test file, I get the duplicate-node-name error. So I'm pretty lost at this point.
Asked by JohnStechschulte on 2020-06-01 18:20:46 UTC