It seems that the exception in yasmin/yasmin/state.py can trigger a TypeError instead of displaying the non-matching outcomes:
File "/home/user/ros2_ws/install/yasmin/lib/python3.8/site-packages/yasmin/state.py", line 39, in __call__
outcome = self.execute(blackboard)
File "/home/user/ros2_ws/install/yasmin/lib/python3.8/site-packages/yasmin/state_machine.py", line 73, in execute
outcome = state["state"](blackboard)
File "/home/user/ros2_ws/install/yasmin/lib/python3.8/site-packages/yasmin/state.py", line 42, in __call__
raise Exception("Outcome " + outcome + " does not belong")
TypeError: can only concatenate str (not "NoneType") to str
Thanks for the feedback @lars-nagel. I suppose you are not returning an outcome. I have fixed the TypeError but I may treat the NoneType better in the future.
Observed Behavior
It seems that the exception in
yasmin/yasmin/state.py
can trigger a TypeError instead of displaying the non-matching outcomes:Expected Behavior
Exception highlights non-matching outcome names.