def test_parse_dummy_action(): ''' Parse a simple action from JSON ''' json_filename = os.path.join(json_dir, 'execute_dummy_action.js') request_str = open(json_filename).read() request_dict = json.loads(request_str) sm = parser.create_state_machine_from_action_dict(request_dict, {'Dummy': Dummy}) sm.execute()
def test_parse_dummy_action(): ''' Parse a simple action from JSON ''' json_filename = os.path.join(json_dir, 'execute_dummy_action.js') request_str = open(json_filename).read() request_dict = json.loads(request_str) sm = parser.create_state_machine_from_action_dict( request_dict, {'Dummy':Dummy}) sm.execute()
def execute_action(self, action_dict): # create a state machine wrapper for the action self.sm = parser.create_state_machine_from_action_dict(action_dict, self.actions) # execute the state machine rospy.loginfo('Executing state machine') sis = smach_ros.IntrospectionServer('executer_server_introspection', self.sm, '/EXECUTER_SERVER') sis.start() outcome = self.sm.execute() outputs = "" registered_output_keys = self.sm.get_registered_output_keys() rospy.loginfo("registered output keys: %s"%str(registered_output_keys)) if "outputs" in self.sm.get_registered_output_keys(): outputs = self.sm.userdata.outputs else: rospy.loginfo("no outputs in state's registered output keys") # state machine executed successfully; return outcome rospy.loginfo('State machine executed successfully with outcome: %s' % outcome) return (outcome, outputs)
def execute_action(self, action_dict): # create a state machine wrapper for the action self.sm = parser.create_state_machine_from_action_dict(action_dict, self.actions) # execute the state machine rospy.loginfo('Executing state machine') sis = smach_ros.IntrospectionServer('executer_server_introspection', self.sm, '/EXECUTER_SERVER') sis.start() outcome = self.sm.execute() outputs = "" registered_output_keys = self.sm.get_registered_output_keys() rospy.loginfo("registered output keys: %s"%str(registered_output_keys)) if "outputs" in self.sm.get_registered_output_keys(): outputs = self.sm.userdata.outputs else: rospy.loginfo("no outputs in state's registered output keys") # state machine executed successfully; return outcome rospy.loginfo('State machine executed successfully with outcome: %s' % outcome) return (outcome, outputs)
def test_parse_empty_dict(): ''' Expect a ValueError when parsing an empty dicitionary ''' try: a = parser.create_state_machine_from_action_dict({}, {}) except ValueError: return
def test_parse_empty_dict(): ''' Expect a ValueError when parsing an empty dicitionary ''' try: a = parser.create_state_machine_from_action_dict({}, {}) except ValueError: return