fix: remove json encoding before setting string params#521
fix: remove json encoding before setting string params#521mvollrath merged 1 commit intoRobotWebTools:ros2from travipross:fix-ros2-rosapi-doublequote
Conversation
|
Anyone have an idea of what's causing these tests to fail and how to address it? Looks like |
|
hey @travipross ive been looking into this actually. It looks like I was a bit quick to use the ros-tooling github actions for this repo. They are not fully supported yet for Mac or windows10. easiest path I think would probably be to limit the CI to only Linux and go from there. |
|
Sure, though it's also failing on the linux eloquent environment.
…On Wed., Aug. 19, 2020, 2:03 a.m. Evan Flynn, ***@***.***> wrote:
hey @travipross <https://github.com/travipross> ive been looking into
this actually.
It looks like I was a bit quick to use the ros-tooling github actions for
this repo. They are not fully supported yet for Mac or windows10.
easiest path I think would probably be to limit the CI to only Linux and
go from there.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#521 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEHYJNNVYODX5SRUUFU2BYDSBNMJ5ANCNFSM4P7WZD2A>
.
|
|
#524 just opened a PR to remove mac and windows and bump the action version. this might solve the issues seen on eloquent and dashing here |
|
yupp. looks like the ci failure for eloquent an dashing are gone now after bumping the action and adding the |
|
That's great news! How can I proceed and re-run my CI workflow with those changes? |
|
if someone merges my pr into the |
|
@travipross, maybe close and open this PR? that should trigger a new build i think |
Since porting to ROS2, it was previously impossible to use
Param.set_param()to set string-type parameters.The input argument
valuemust be JSON-serialized, however, unlike the case of other data types, the later call toget_parameter_value()inside ofParam._set_param()does not strip the JSON encoding from the string. This means that the message is constructed with a double-encoded JSON string before being sent to the appropriate node. All string type parameters previously set byrosapiwere therefore wrapped with unnecessary quotes.As the
get_parameter_value()method belongs to theros2project, it feels appropriate for this to be handled on therosapiside. This simple fix allows for the proper decoding of strings when passed as thevalueargument.No changes appear to be necessary for the
Param.get_param()function to work as expected after this modification. Tested with ROS Eloquent on Ubuntu 18.04.