Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated Testing Improvements #95

Open
chafey opened this issue Dec 20, 2022 · 1 comment
Open

Automated Testing Improvements #95

chafey opened this issue Dec 20, 2022 · 1 comment

Comments

@chafey
Copy link
Contributor

chafey commented Dec 20, 2022

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)
@aous72
Copy link
Owner

aous72 commented Dec 21, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants