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
Restructuring unit tests with their own sub-dirs #70
Conversation
Codecov Report
@@ Coverage Diff @@
## main #70 +/- ##
=======================================
Coverage 96.28% 96.29%
=======================================
Files 36 36
Lines 2233 2238 +5
=======================================
+ Hits 2150 2155 +5
Misses 83 83
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this @nariman87, it does make the testing suite much more organized and focused. Overall it looks great! I have left some comments and question, in the meantime perhaps other code-owners can review the PR as well.
Co-authored-by: Sebastián Duque Mesa <675763+sduquemesa@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @nariman87 for addressing all the comments! ✨ Let's see what are @ilan-tz's opinions on the quick-install
/install
issue before merging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great - an important PR with several nice improvements. Just have a few small questions.
EDIT: Saw previous discussion! All good.
* Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update CMakeLists.txt * Update setup.py * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update setup.py * Update setup.py * Update setup.py * Update CMakeLists.txt * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update CMakeLists.txt * Update CMakeLists.txt * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Creating a dedicated dir for fast_ec_mc ... * Update setup.py * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update setup.py * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update setup.py * Update CMakeLists.txt * Update CMakeLists.txt * Update setup.py * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update CMakeLists.txt * Update setup.py * Update CMakeLists.txt * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update CMakeLists.txt * Update setup.py * Update setup.py * Update setup.py * Update CMakeLists.txt * Update fast_ec_mc.pyx * Update fast_ec_mc.pyx * Update simulations.py * Update simulations.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update simulations.py * Update simulations.py * Update simulations.py * Update simulations.py * Update fast_ec_mc.pyx * Update setup.py * Update setup.py * Update fast_ec_mc.pyx * Update setup.py * Update simulations.py * Update simulations.py * Update simulations.py * Some restructuring ... * Update setup.py * Update simulations.py * Update fast_ec_mc.pyx * Update setup.py * Update setup.py * Update setup.py * Update fast_ec_mc.pyx * Update simulations.py * Update simulations.py * Update simulations.py * Adding sims_data ... * Delete results.csv * Delete 1645632889_simulations_results.csv * Delete 1645635881_simulations_results.csv * Update simulations.py * Update fast_ec_mc.pyx * Update fast_ec_mc.pyx * Update and rename fast_ec_mc.pyx to fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update simulations.py * Update setup.py * Update fast_mc_loop.pyx * Update simulations.py * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update simulations.py * Update simulations.py * Update setup.py * Update simulations.py * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update simulations.py * Update simulations.py * Update simulations.py * Update simulations.py * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update simulations.py * Update fast_mc_loop.pyx * Update simulations.py * Update simulations.py * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update README.md * Update build_tests.yaml * Update linting.yaml * Update upload_linux_x64.yaml * Update upload_macos_x64.yaml * Update upload_win_x64.yaml * Update docs.yaml * Update simulations.py * Update simulations.py * Update fast_mc_loop.pyx * Update fast_mc_loop.pyx * Update results.csv * Update simulations.py * Update MANIFEST.in * Update .pylintrc * Update lemon.py * Update test_simulations.py * Update test_simulations.py * Update test_simulations.py * Update results.csv * Update README.md * Update README.md * Update simulations.py * Update simulations.py * Update test_simulations.py * Update simulations.py * Update simulations.py * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Some restructuring ... * Update setup.py * Update MANIFEST.in * Update CMakeLists.txt * Update simulations.py * Update setup.py * Rename decoder.py to decoding.py * Create simulations.py * Update and rename fast_mc_loop.pyx to cpp_mc_loop.pyx * Update setup.py * Update simulations.py * Update simulations.py * Update MANIFEST.in * Update test_simulations.py * Update test_benchmarks_examples.py * Update simulations.py * Update simulations.py * Update setup.py * Update setup.py * Update setup.py * Update setup.py * Update test_threshold_plots.py * Update lemon.py * Update test_benchmarks_examples.py * Update format.yaml * Update _version.py * Some black reformatting ... * Update README.md * Update results files, directories * Update flamingpy/simulations.py Co-authored-by: ilan-tz <57886357+ilan-tz@users.noreply.github.com>
Context for changes
tests/
based on error correction and software layers. This helps manage and target each test unit.build_tests.yaml
workflow now supports executing unit tests in parallel usingpytest-xdist
package. GitHub runners have at least 2 processors, which helps speed up the pytest blocks by ~1.5 times in practice.Example usage and tests
Performance results justifying changes
Workflow actions and tests
See the updated .github/workflows/build_tests.yaml.
Expected benefits and drawbacks
Expected benefits:
xdist
parallelization.Related Github issues
Checklist and integration statements
black
,docformatter
andpylint
configurations.README.md
as needed.CHANGELOG.md
following the template. I recognize that the developers may revisitCHANGELOG.md
and the versioning, and create a Special Release including my changes.