Skip to content
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

[jsk_rqt_plugins] Fix for working correctly on kinetic + qt5 #708

Merged
merged 27 commits into from
Oct 1, 2018

Conversation

YutoUchimi
Copy link
Contributor

@YutoUchimi YutoUchimi commented Sep 10, 2018

Summary of this PR

  • Add test for rqt plugins
  • Fix some import to support qt>=5
  • Add doc for rqt plugins

kinetic uses qt5, while qt4 was used in indigo and before.
(cf. https://answers.ros.org/question/235126/import-issues-in-ros-kinetic-rqt/)

This has caused ImportError on kinetic.

$ rosrun jsk_rqt_plugins rqt_yn_btn
Traceback (most recent call last):
  File "/home/yutouchimi/Projects/mirror_recognition/src/jsk-ros-pkg/jsk_visualization/jsk_rqt_plugins/bin/rqt_yn_btn", line 10, in <module>
    from jsk_rqt_plugins.yes_no_button import YesNoButton
  File "/home/yutouchimi/Projects/mirror_recognition/src/jsk-ros-pkg/jsk_visualization/jsk_rqt_plugins/src/jsk_rqt_plugins/yes_no_button.py", line 10, in <module>
    from python_qt_binding.QtGui import QWidget
ImportError: cannot import name QWidget

plugin features after this PR support both qt4 and qt5.

@k-okada
Copy link
Member

k-okada commented Sep 10, 2018

can some one create test code to find these errors?

@YutoUchimi YutoUchimi changed the title [jsk_rqt_plugins] Fix rqt_yn_btn for kinetic [jsk_rqt_plugins] Fix for correctly working on kinetic + qt5 Sep 13, 2018
@YutoUchimi
Copy link
Contributor Author

YutoUchimi commented Sep 13, 2018

Waiting for jsk-ros-pkg/jsk_common#1603

Now I changed the test program not to use jsk-ros-pkg/jsk_common#1603.

@YutoUchimi YutoUchimi changed the title [jsk_rqt_plugins] Fix for correctly working on kinetic + qt5 [jsk_rqt_plugins] Fix for working correctly on kinetic + qt5 Sep 13, 2018
@YutoUchimi YutoUchimi changed the title [jsk_rqt_plugins] Fix for working correctly on kinetic + qt5 [WIP] [jsk_rqt_plugins] Fix for working correctly on kinetic + qt5 Sep 25, 2018
@YutoUchimi
Copy link
Contributor Author

YutoUchimi commented Sep 27, 2018

Only 5 / 9 tests correctly run, and the other 4 tests always pass for now.
Anyway, travis passed for indigo and failed for kinetic!

indigo test

[jsk_rqt_plugins:make] [ROSTEST]-----------------------------------------------------------------------
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_2d_plot][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_3d_plot][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_drc_mini_maxwell][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_histogram_plot][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_image_view2][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_service_buttons][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_status_light][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_string_label][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_yn_btn][passed]
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] SUMMARY
[jsk_rqt_plugins:make]  * RESULT: SUCCESS
[jsk_rqt_plugins:make]  * TESTS: 9
[jsk_rqt_plugins:make]  * ERRORS: 0
[jsk_rqt_plugins:make]  * FAILURES: 0
[jsk_rqt_plugins:make] 

kinetic test

[jsk_rqt_plugins:make] [ROSTEST]-----------------------------------------------------------------------
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_2d_plot][FAILURE]------------
[jsk_rqt_plugins:make] No node subscribes topic (/pub_sample_2d_data/output)
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
[jsk_rqt_plugins:make]     testMethod()
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 54, in test_rqt_2d_plot
[jsk_rqt_plugins:make]     '/pub_sample_2d_data/output', PlotData, '/rqt_2d_plot'))
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 44, in is_subscribed
[jsk_rqt_plugins:make]     False, 'No node subscribes topic ({})'.format(topic_name))
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue
[jsk_rqt_plugins:make]     raise self.failureException(msg)
[jsk_rqt_plugins:make] --------------------------------------------------------------------------------
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_3d_plot][FAILURE]------------
[jsk_rqt_plugins:make] Could not subscribe topic (/sample_3d_data) in 10.0 seconds
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
[jsk_rqt_plugins:make]     testMethod()
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 58, in test_rqt_3d_plot
[jsk_rqt_plugins:make]     self.is_subscribed('/sample_3d_data', Float32, '/rqt_3d_plot'))
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 34, in is_subscribed
[jsk_rqt_plugins:make]     format(topic_name, WAIT_TIMEOUT))
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue
[jsk_rqt_plugins:make]     raise self.failureException(msg)
[jsk_rqt_plugins:make] --------------------------------------------------------------------------------
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_drc_mini_maxwell][FAILURE]---
[jsk_rqt_plugins:make] Could not subscribe topic (/drc_2015_environment/is_disabled) in 10.0 seconds
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
[jsk_rqt_plugins:make]     testMethod()
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 63, in test_rqt_drc_mini_maxwell
[jsk_rqt_plugins:make]     '/rqt_drc_mini_maxwell'))
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 34, in is_subscribed
[jsk_rqt_plugins:make]     format(topic_name, WAIT_TIMEOUT))
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue
[jsk_rqt_plugins:make]     raise self.failureException(msg)
[jsk_rqt_plugins:make] --------------------------------------------------------------------------------
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_histogram_plot][FAILURE]-----
[jsk_rqt_plugins:make] Could not subscribe topic (/range_array) in 10.0 seconds
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
[jsk_rqt_plugins:make]     testMethod()
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 71, in test_rqt_histogram_plot
[jsk_rqt_plugins:make]     '/rqt_histogram_plot'))
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 34, in is_subscribed
[jsk_rqt_plugins:make]     format(topic_name, WAIT_TIMEOUT))
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue
[jsk_rqt_plugins:make]     raise self.failureException(msg)
[jsk_rqt_plugins:make] --------------------------------------------------------------------------------
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_image_view2][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_service_buttons][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_status_light][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_string_label][passed]
[jsk_rqt_plugins:make] [jsk_rqt_plugins.rosunit-test_rqt_plugins/test_rqt_yn_btn][FAILURE]-------------
[jsk_rqt_plugins:make] Could not find service (rqt_yn_btn)
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 329, in run
[jsk_rqt_plugins:make]     testMethod()
[jsk_rqt_plugins:make]   File "/home/travis/ros/ws_jsk_visualization/src/jsk_visualization/jsk_rqt_plugins/test/test_rqt_plugins.py", line 103, in test_rqt_yn_btn
[jsk_rqt_plugins:make]     self.assertTrue(False, 'Could not find service (rqt_yn_btn)')
[jsk_rqt_plugins:make]   File "/usr/lib/python2.7/unittest/case.py", line 422, in assertTrue
[jsk_rqt_plugins:make]     raise self.failureException(msg)
[jsk_rqt_plugins:make] --------------------------------------------------------------------------------
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] 
[jsk_rqt_plugins:make] SUMMARY
[jsk_rqt_plugins:make]  * RESULT: FAIL
[jsk_rqt_plugins:make]  * TESTS: 9
[jsk_rqt_plugins:make]  * ERRORS: 0
[jsk_rqt_plugins:make]  * FAILURES: 5
[jsk_rqt_plugins:make] 

@YutoUchimi YutoUchimi changed the title [WIP] [jsk_rqt_plugins] Fix for working correctly on kinetic + qt5 [jsk_rqt_plugins] Fix for working correctly on kinetic + qt5 Sep 28, 2018
@YutoUchimi
Copy link
Contributor Author

Fixed all import and added documentation now.

@knorth55 Could you review again?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants