devolearn icon indicating copy to clipboard operation
devolearn copied to clipboard

CI: move to pytest+codecov

Open Mayukhdeb opened this issue 4 years ago • 2 comments

Currently devolearn uses a relatively simple testing suite i.e python3 setup.py test. But a much cleaner alternative would be to use pytest for testing and codecov for coverage reports.

Why use coverage reports ? They help us see how much of the code is being tested after each push, this'll help us find the pieces of code that are important but remain untested.

Why pytest ? From my own personal experience, python3 setup.py test crashes without an error message when the user tries to access a CUDA device (GPU) on the github actions runtime. This error would've been impossible to fix if I hadn't moved to using pytest (which showed me the proper error message).

Mayukhdeb avatar Apr 27 '21 12:04 Mayukhdeb

Hi @Mayukhdeb. Moving to Pytest seems like a good idea, apart from the CUDA related issue you mentioned, here are couple more reasons why we should move to Pytest

  • it allows to run a subset of the entire testing suite (useful when working on only one DevoLearn model)
  • it can run multiple tests in parallel (reducing execution time)
  • it detects test file and test functions automatically.

This seems like a good opportunity to learn how Pytest and Codecov work, feel free to assign this issue to me.

Mainakdeb avatar Apr 27 '21 12:04 Mainakdeb

@Mainakdeb any updates on integrating codecov ?

Mayukhdeb avatar May 05 '21 05:05 Mayukhdeb