test_callbacks_py.py
Go to the documentation of this file.
1 #! /usr/bin/env python
2 # Copyright (c) 2009, Willow Garage, Inc.
3 # All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are met:
7 #
8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above copyright
11 # notice, this list of conditions and the following disclaimer in the
12 # documentation and/or other materials provided with the distribution.
13 # * Neither the name of the Willow Garage, Inc. nor the names of its
14 # contributors may be used to endorse or promote products derived from
15 # this software without specific prior written permission.
16 #
17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 # POSSIBILITY OF SUCH DAMAGE.
28 
29 # Author: Stuart Glaser
30 
31 import sys
32 import uuid
33 
34 PKG = 'test_bond'
35 import roslib; roslib.load_manifest(PKG)
36 import rospy
37 from bondpy import bondpy
38 
39 import unittest
40 import rostest
41 
42 import atexit
43 atexit.register(rospy.signal_shutdown, 'exit')
44 
45 TOPIC = "test_bond_topic"
46 
47 
48 def gen_id():
49  return "test_" + str(uuid.uuid4())
50 
51 
52 class CallbackTests(unittest.TestCase):
53 
55  id = gen_id()
56  a = bondpy.Bond(TOPIC, id)
57  b = bondpy.Bond(TOPIC, id)
58 
59  a.set_formed_callback(a.break_bond)
60 
61  a.start()
62  b.start()
63 
64  self.assertTrue(a.wait_until_formed(rospy.Duration(5.0)))
65  self.assertTrue(b.wait_until_broken(rospy.Duration(3.0)))
66  del a, b
67 
68 
69 def main():
70  rospy.init_node('test_callbacks_python', anonymous=True, disable_signals=True)
71  rostest.run(PKG, 'test_callbacks_python', CallbackTests, sys.argv)
72 
73 
74 if __name__ == '__main__':
75  main()


test_bond
Author(s): Stuart Glaser
autogenerated on Wed Sep 2 2020 03:40:47