-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix case function misuse in simple-action-server :set-preempted #673
Fix case function misuse in simple-action-server :set-preempted #673
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we add test code for this?
4b48716
to
5c8aa83
Compare
@k-okada Does the added tests serve you well? |
test is always welcome |
@k-okada Kindly ping. |
157dd28
to
f575cc8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- we need to pass CI, c.f .github/workflows/config.yml: use checkout v3.0.2 and skip X for 14.04 #726
-
This turned out to be happening from a misuse of the case function with multiple match cases in a single sentence, which are evaluated as quoted strings
I see...., do we have to change other lines, for example
jsk_roseus/roseus/euslisp/actionlib.l
Lines 228 to 232 in 4d45a0d
(case state | |
(actionlib_msgs::GoalStatus::*recalling* | |
(setq state actionlib_msgs::GoalStatus::*pending*)) | |
(actionlib_msgs::GoalStatus::*preempting* | |
(setq state actionlib_msgs::GoalStatus::*active*))) |
f575cc8
to
6f69f28
Compare
@k-okada I have added similar fixes and the tests are now passing after a few resets (pr2 tests timing out). |
6f69f28
to
930ca9c
Compare
While working on #672 I found out that when interrupted the euslisp server return the status 6 (preempting), while the same actionlib_tutorials node returns 2 (preempted).
This turned out to be happening from a misuse of the
case
function with multiple match cases in a single sentence, which are evaluated as quoted strings (symbols not values) and therefore are virtually unreachable. As a proof there was also a typo in the actionlib_msgs::GoalStatus::*preepmpting* variable.