owTvQtWidgetShow refactoring
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
forotb::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