-
Notifications
You must be signed in to change notification settings - Fork 131
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
improve handling of encoding #181
Conversation
With this change the failing test (outputting non-ASCII characters in the error message) is reported correctly: https://ci.ros2.org/job/ci_windows/7467/testReport/ The actual test is being fixed in a second commit in ros2/rosidl#391. |
print(decoded_line, end='') | ||
output += decoded_line | ||
if output_handle: | ||
output_handle.write(line) | ||
output_handle.write(decoded_line.encode()) |
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.
Why is this change necessary, isn't line
already encoded?
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.
When using line
directly it is not ensured that the characters in that string can be encoded into the encoding which is used for stdout
.
By first successfully decoding it (with one of the two possible encodings) and then re-encoding it is ensure that the string can be written to stdout
without an exception.
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.
Other than one question, LGTM
Signed-off-by: Dirk Thomas <[email protected]>
2af1579
to
84f395b
Compare
Signed-off-by: Dirk Thomas <[email protected]>
Signed-off-by: Dirk Thomas <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]>
* Add runner option to ament_add_test (#174) * ament_cmake allow speficiation of a different test runner - By default, still uses run_test.py - Example use case: ament_cmake_ros can use a test runner that sets a ROS_DOMAIN_ID Signed-off-by: Pete Baughman <[email protected]> * ament_cmake move run_test.py to a python module - This should let us see the history Signed-off-by: Pete Baughman <[email protected]> * ament_cmake refactor run_test.py into an importable python module - Adds an ament_cmake_test python package Signed-off-by: Pete Baughman <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]> * improve handling of encoding (#181) Signed-off-by: Dirk Thomas <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]> * use deterministic order for updated env vars (#196) Signed-off-by: Dirk Thomas <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]> * Run tests in current binary directory, not global source directory (#206) Switch to CMAKE_CURRENT_BINARY_DIR for consistency with CTest Signed-off-by: Dan Rose <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]> * remove status attribute from result XML, add skipped tag instead (#218) Signed-off-by: Dirk Thomas <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]> * Declare AMENT_TEST_RESULTS_DIR as a PATH (#221) Signed-off-by: Dan Rose <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]> * Generate xunit files valid for the junit10.xsd Signed-off-by: Jose Luis Rivero <[email protected]> Signed-off-by: Steven! Ragnarök <[email protected]> * Revert "Run tests in current binary directory, not global source directory (#206)" This reverts commit 4354d62. Signed-off-by: Steven! Ragnarök <[email protected]> Co-authored-by: Peter Baughman <[email protected]> Co-authored-by: Dirk Thomas <[email protected]> Co-authored-by: Dan Rose <[email protected]> Co-authored-by: Jose Luis Rivero <[email protected]>
Related to ros2/rosidl#388.