test_topic_published.py¶
What is this?¶
This node is to test the expected published topics while running rostest.
Parameters¶
~topic_%d(str)The name of topics to test if published.
~timeout_%d(int)Timeout for the topic.
~negative_%d(bool, Default:false, Optional)If it’s
True, it tests if not published.~import(List[str], Default:[], Optional)List of Python modules to import and use in
~condition_%dexpression. For commodity rospy and numpy modules are imported by default.~condition_%d(str, Default:None, Optional)Check bool value condition using the given Python expression. The Python expression can access any of the Python builtins plus:
topic(the topic of the message),m(the message) andt(time of message).For example, topic is
std_msgs/Stringand if you want to check whether a sentence is ahello, you can do the following.condition_0: m.data == 'hello'
If you want to check the frame id of the header, you can do the following.
condition_0: m.header.frame_id in ['base', 'base_link']
Note that, use escape sequence when using the following symbols
<(<),>(>),&(&),'(')and"(").condition_0: m.data < 'spbm'
The modules given to
~importcan also be used.condition_0: 'numpy.linalg.norm([m.wrench.force.x, m.wrench.force.y, m.wrench.force.z]) < 10.0'
Example¶
<test test-name="image_view2_topics"
name="image_view2_topics"
pkg="jsk_tools" type="test_topic_published.py">
<rosparam>
topic_0: /camera_0/image/screenrectangle_image
timeout_0: 10
topic_1: /camera_1/image/screenrectangle_image
timeout_1: 10
</rosparam>
</test>