def start(self): req = self.srvClass._request_class() gen = c.extract_values(req) gen = populate_random_args(gen) self.input = gen services.ServiceCaller(self.name, gen, self.success, self.error).start()
def test_service_caller(self): """ Same as test_service_call but via the thread caller """ # First, call the service the 'proper' way p = rospy.ServiceProxy("/rosout/get_loggers", GetLoggers) ret = p() rcvd = {"json": None} def success(json): rcvd["json"] = json def error(): raise Exception() # Now, call using the services services.ServiceCaller("/rosout/get_loggers", None, success, error).start() time.sleep(0.5) for x, y in zip(ret.loggers, rcvd["json"]["loggers"]): self.assertEqual(x.name, y["name"]) self.assertEqual(x.level, y["level"])