Skip to content

owTvQtWidgetShow refactoring

Stéphane Albert requested to merge 1778-test-refactoring-owTvQtWidgetShow into develop

Summary

Refactoring owTvQtWidgetShow in order to optimize processing time such as described in #1778.

Rationale

This test loads all OTB-applications (one dynamic library per OTB-Application) and displays their GUI (loading of Qt dynamic-libraries). Since each OTB-applications command-line is already tested individually, this test only ensures that the GUI window could be displayed and, then, could be reduced to displaying only one OTB-Application : TestApplication.

Implementation Details

Classes and files

The test-driver https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/blob/develop/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetShowWidget.cxx has been optimized as following :

  • Direct parsing of command-line arguments and removal of needless copy into temporary container
  • Removal of OTB-application listing
  • Replacement of for-each OTB-application loop by single instantiation of TestApplication (Main improvement)
  • Replacement of QDockWidget for otb::Wrapper::QtProgressReport by single Layout lowers Qt resources usage

Additional notes

The processing time of this test falls from 111.65s+ (fastest platform) to:

  • 2.19s on hulk
  • 7.21s on leod
  • 13.07 on megatron

TestApplication could be reviewed and upgraded in order to include Qt widgets of all parameters.

Copyright

The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.


Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
Edited by Victor Poughon

Merge request reports