-
Notifications
You must be signed in to change notification settings - Fork 12
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
Add cmake and ctest to build and run C++/python tests #25
base: master
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## master #25 +/- ##
====================================
Coverage 0.00% 0
====================================
Files 1 0 -1
Lines 18 0 -18
====================================
+ Misses 18 0 -18 see 1 file with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
FYI I need to debug the workflow script so there are going to be a few |
Alrighty! Ready for review! |
Looks all good! Can you please bump the version no.? |
@fruzsinaagocs I went through and updated the burst test, can you take a look that it looks right to you? |
Also let's def squash this before merge. I had to use the github actions to debug the windows cmake |
Fyi doing the burst test on windows we are finding a bug where the solver iterates one past the end of the list while doing the dense output. I'll look more into this tmrw. I can probably catch on linux with clangs mem sanitizer |
…ists. Fixes out of bounds error when building dense results
Alrighty @fruzsinaagocs a few particulars when your looking this over
|
Description
This adds cmake for running tests and is based on the Eigen update PR so needs to wait for that to merge before merging further. I also added boost since we need it for the airy test. I included a small example test with
burst_test.cpp
. It doesn't actually test anything but checks that google test (gtest) and cmake are running correctly.The instructions in the readme have been updated so users can compile and run the C++ and python tests with the following.
This also adds builds that turn on the different sanitizers such as address (ASAN), leaks (LSAN), memory allocs (MSAN), and threads (TSAN). They can be turned on for example with
The sanitizers do pretty well, but have a hard time sanitizing
std::list
, so I switched all the lists to vectors. Since we only resize once at the beginning of solve and are then doing insertions into that preallocated memory this should also be faster.Checklist:
pytest
)