OpenJPH icon indicating copy to clipboard operation
OpenJPH copied to clipboard

Automated Testing Improvements

Open chafey opened this issue 3 years ago • 1 comments

Issues

  • no documentation on how to run tests
  • Running tests always fails for me on m1 mac. Probably because it has an external dependency on kakadu and I don't want to have to install it. I would like to be able to run any tests that don't require external dependencies
  • no unit tests
  • no performance tests - need these to avoid performance regressions and measure improvements
  • hard to understand what the tests are supposed to be doing. no documentation, uses a shell script that uses other executables with various parameters. If I make a change in the source code and one of these fails, it won't be clear why

Suggestions:

  • replace downloading of test image files by storing them in another git repository and pulling in via cmake FetchContent or git submodule
  • separate tests that depend on external dependencies (kakadu) from those that do not. It should be possible to run the tests that don't require external dependencies
  • consider replacing the shell scripts/ctest add_test() with a C++ app that does the same thing with inline documentation
  • create separate sub folders for different test types/modules (functional, compliance, interop, unit, psnr_pae)

chafey avatar Dec 20 '22 17:12 chafey

Let me work on some of these in the next couple of days.
More work would still be needed afterwards. I think I need to add support for .PGX format to ojph_compress and ojph_expand -- it is a primitive format, but it is the format used to store conformance images.

aous72 avatar Dec 21 '22 21:12 aous72