{"action":"created","issue":{"url":"https://api.github.com/repos/ros2/rviz/issues/259","repository_url":"https://api.github.com/repos/ros2/rviz","labels_url":"https://api.github.com/repos/ros2/rviz/issues/259/labels{/name}","comments_url":"https://api.github.com/repos/ros2/rviz/issues/259/comments","events_url":"https://api.github.com/repos/ros2/rviz/issues/259/events","html_url":"https://github.com/ros2/rviz/pull/259","id":321537205,"number":259,"title":"Improve visual testing and add visual tests","user":{"login":"Martin-Idel-SI","id":31658331,"avatar_url":"https://avatars2.githubusercontent.com/u/31658331?v=4","gravatar_id":"","url":"https://api.github.com/users/Martin-Idel-SI","html_url":"https://github.com/Martin-Idel-SI","followers_url":"https://api.github.com/users/Martin-Idel-SI/followers","following_url":"https://api.github.com/users/Martin-Idel-SI/following{/other_user}","gists_url":"https://api.github.com/users/Martin-Idel-SI/gists{/gist_id}","starred_url":"https://api.github.com/users/Martin-Idel-SI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Martin-Idel-SI/subscriptions","organizations_url":"https://api.github.com/users/Martin-Idel-SI/orgs","repos_url":"https://api.github.com/users/Martin-Idel-SI/repos","events_url":"https://api.github.com/users/Martin-Idel-SI/events{/privacy}","received_events_url":"https://api.github.com/users/Martin-Idel-SI/received_events","type":"User","site_admin":false},"labels":[{"id":679415475,"url":"https://api.github.com/repos/ros2/rviz/labels/in%20review","name":"in review","color":"388be2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-05-09T11:43:36Z","updated_at":"2018-05-09T11:50:00Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/ros2/rviz/pulls/259","html_url":"https://github.com/ros2/rviz/pull/259","diff_url":"https://github.com/ros2/rviz/pull/259.diff","patch_url":"https://github.com/ros2/rviz/pull/259.patch"},"body":"This PR improves the visual testing framework and adds visual tests for already ported displays.\r\n\r\n**Note**: This PR also includes the changes in https://github.com/ros2/rviz/pull/249\r\n\r\nImprovements of the visual testing framework:\r\n- Better image comparison: Previously, images were just resized, now, images are are resized in the same way that render panels in RViz are resized. This vastly improves the diff between test and reference images on all tested platforms\r\n- The interface of BasePageObject was improved to simplify writing page objects for displays and prohibit wrong usage in visual tests.\r\n- The `rviz_visual_testing` package was expanded to include convenience methods to write and start publishers for end2end visual tests.\r\n- The `rviz_visual_testing` package was slightly restructured and doxygen comments were added to all classes relevant for those who want to write tests.\r\n- The value of the CMake varialbe EnableVisualTests was changed to \"True\" instead of \"TRUE\" to keep with the usual CMake pattern used so far (e.g. for EnableDisplayTests). Similarly, the environment variable to generate references is checked against \"True\" instead of \"TRUE\".\r\n\r\nNew tests:\r\n- All tests for displays are now located in `rviz_default_plugins` along with their usual tests, as well as all page objects and publishers.\r\n- Visual (smoke) tests were added for all ported display types were it makes sense: (Grid, Marker, PointCloud(2), Image, Camera, RobotModel, Pose, PoseArray, TF, LaserScan)\r\n\r\nKnown issues:\r\n- The test output contains a lot of irrelevant output by RViz. It would be nice to be able to switch off all output in tests, but this would require adapting the macros. We haven't looked into it so far.\r\n- Test times are quite large. It might be possible to improve them without breaking stability, but this requires fine-tuning of a lot of variables so we did not do so so far."},"comment":{"url":"https://api.github.com/repos/ros2/rviz/issues/comments/387713373","html_url":"https://github.com/ros2/rviz/pull/259#issuecomment-387713373","issue_url":"https://api.github.com/repos/ros2/rviz/issues/259","id":387713373,"user":{"login":"Martin-Idel-SI","id":31658331,"avatar_url":"https://avatars2.githubusercontent.com/u/31658331?v=4","gravatar_id":"","url":"https://api.github.com/users/Martin-Idel-SI","html_url":"https://github.com/Martin-Idel-SI","followers_url":"https://api.github.com/users/Martin-Idel-SI/followers","following_url":"https://api.github.com/users/Martin-Idel-SI/following{/other_user}","gists_url":"https://api.github.com/users/Martin-Idel-SI/gists{/gist_id}","starred_url":"https://api.github.com/users/Martin-Idel-SI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Martin-Idel-SI/subscriptions","organizations_url":"https://api.github.com/users/Martin-Idel-SI/orgs","repos_url":"https://api.github.com/users/Martin-Idel-SI/repos","events_url":"https://api.github.com/users/Martin-Idel-SI/events{/privacy}","received_events_url":"https://api.github.com/users/Martin-Idel-SI/received_events","type":"User","site_admin":false},"created_at":"2018-05-09T11:50:00Z","updated_at":"2018-05-09T11:50:00Z","author_association":"NONE","body":"CI:\r\n* Linux [![Build Status](http://ci.ros2.org/buildStatus/icon?job=ci_linux&build=4381)](http://ci.ros2.org/job/ci_linux/4381/)\r\n* Linux-aarch64 [![Build Status](http://ci.ros2.org/buildStatus/icon?job=ci_linux-aarch64&build=1336)](http://ci.ros2.org/job/ci_linux-aarch64/1336/)\r\n* macOS [![Build Status](http://ci.ros2.org/buildStatus/icon?job=ci_osx&build=3577)](http://ci.ros2.org/job/ci_osx/3577/)\r\n* Windows [![Build Status](http://ci.ros2.org/buildStatus/icon?job=ci_windows&build=4433)](http://ci.ros2.org/job/ci_windows/4433/)\r\n\r\nNote that obviously, visual tests do not run. I suppose it should be easily possible to run them on the OSX jenkins. We should discuss how to enable this."}}
{"actor":{"display_login":"Martin-Idel-SI"}}