Skip to content
Snippets Groups Projects

Various CI fixes for a lighter dashboard

Merged Guillaume Pasero requested to merge ci_fixes into develop

Summary

Fixes to enable tests on the new CI, and reduce tests verbosity.

Rationale

Enable the tests on new CI, and reduce the log output (#1867 (closed)).

Implementation Details

There are different types of changes in this branch:

  • CI scripts:
    • enable testing
    • use xvfb to launch test (needed for GUI tests)
    • remove unused WRAP_PYTHON3 option
  • Make all tests pass:
    • can't use Shark on ubuntu-native due to #1871 (closed)
    • allow root to launch mpi-enabled tests (EXTRA_OPT --allow-run-as-root)
    • the RPC estimation/optimization functions are broken on Ossim 2.2.0, the tests don't crash but I had to remove some baselines checks for Ossim >= 2.2.0
    • add some multi-baselines...
    • in otb::WaveletOperatorBase, a weird crash was breaking all wavelet tests.
    • in TestMain, I made sure that the MPIFinalize() is called in all cases, to avoid the application hanging at closure. Removed early return.
    • in ApplicationLauncherCommandLine, I had to disable MPIInit() when -testenv is present: since this option leaves exceptions uncaught, the MPIFinalize() at the end of the application launcher is not called, and the TestDriver hangs on closure (see #1845 (closed)).
    • I made a small refactor of TestMain and TestHelper : better parsing of options, support of the --tolerance-ratio option (more details in the next section).
  • Reduce unnecessary test verbosity:
    • massive use of otbLogMacro(Debug, ... ) to control test verbosity at runtime.
    • I changed the priority level of No kwl metadata found in file ... to Debug, I think it is more relevant to log information when metadata has actually been found.
    • Code factorization in Modules/Learning/Supervised/test/TrainMachineLearningModel.cxx
    • the log size has been reduced from ~12MB to 3MB

Additional notes

In order to reduce the number of baselines, I introduced an new option for the test driver: --tolerance-ratio. It defines what percentage of the data can fail the epsilon check. For the moment it only applies to the image comparisons. For instance, passing the option --tolerance-ratio 0.01 means that the number of pixels with difference should be less than 1% of all pixels. By default, this tolerance is 0.

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 :thumbsup: votes from core developers, no :thumbsdown: 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 Guillaume Pasero

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
21 21 # make sure LFS hooks are installed
22 22 - git lfs install
23 23 # Provision efficiently the local LFS cache before checkout
24 - echo git lfs fetch origin $CI_COMMIT_REF_NAME
25 - git lfs fetch origin $CI_COMMIT_REF_NAME
24 - git lfs fetch origin $CI_COMMIT_SHA
26 25 # Checkout the expected branch
27 26 - git checkout $CI_COMMIT_REF_NAME
  • Guillaume Pasero changed milestone to %7.0.0

    changed milestone to %7.0.0

  • Guillaume Pasero mentioned in merge request !443 (merged)

    mentioned in merge request !443 (merged)

  • Guillaume Pasero added 138 commits

    added 138 commits

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Guillaume Pasero added 6 commits

    added 6 commits

    • ffd6b79a - BUG: don't use implementation specific mpi options in sources
    • b5c900de - TEST: wrong conflict resolution
    • 039ffcbb - TEST: allow tolerance for ogr compare
    • a85526dc - TEST: multi-baseline for rasterization test
    • 77e8229e - BUG: allow RefineSensorModel to handle failed projections
    • 9fd6ddb4 - TEST: multi-baseline for regression test

    Compare with previous version

  • Guillaume Pasero added 2 commits

    added 2 commits

    • b93740ef - TEST: ignore differences in support_data introduced with ossim 2.6.2
    • 8090b559 - TEST: another multibaseline for debian-gcc

    Compare with previous version

  • added 1 commit

    • 87904a08 - TEST: avoid tests using the same output name

    Compare with previous version

  • Guillaume Pasero added 2 commits

    added 2 commits

    • 067598eb - ENH: support tolerance ratio in test kernel, small refac
    • d7dffaf4 - TEST: use tolerance ratio to avoid multi-baselines

    Compare with previous version

  • Guillaume Pasero changed the description

    changed the description

  • Green dashboard + votes -> merging.

  • mentioned in commit d7537b2a

  • mentioned in issue #1867 (closed)

  • added ci label

  • Please register or sign in to reply
    Loading