OpenJPH
OpenJPH copied to clipboard
Automated Testing Improvements
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)
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.