-
Notifications
You must be signed in to change notification settings - Fork 6
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
Simpler Test Data #110
Simpler Test Data #110
Conversation
@danielhuppmann @glatterf42 Seems this change has a conflict with a recent PR from you two, how should we resolve this. Are both of you okay with the new way of creating test data and should we migrate the changes from that PR here? |
I've resolved the merge conflicts for now, but it looks like these utility data-creation functions make the tests quite complex imo. |
Yes, thanks, I know. For some reason, Github didn't let me do that as it usually does this time 🤷 |
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 addressing my feedback. There are some more minor changes I would like to see (mostly replacing explicit str-indexset.name
s with indexset_i.name
), then it's good to go from my side :)
# teardown() ... | ||
``` | ||
Profiler output will be written to '.profiles/{testname}.prof' | ||
""" |
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.
This looks very handy, but I'm somewhat surprised that pytest doesn't offer something like this itself (I checked and couldn't find anything quickly, at least).
Co-authored-by: Fridolin Glatter <[email protected]>
Co-authored-by: Fridolin Glatter <[email protected]>
Co-authored-by: Fridolin Glatter <[email protected]>
Co-authored-by: Fridolin Glatter <[email protected]>
Co-authored-by: Fridolin Glatter <[email protected]>
Co-authored-by: Fridolin Glatter <[email protected]>
Co-authored-by: Fridolin Glatter <[email protected]>
Co-authored-by: Fridolin Glatter <[email protected]>
Thanks for the last consistency comments, this is gtg from my side now too. |
Co-authored-by: Fridolin Glatter <[email protected]>
* Remove Never type hints from core; mypy complained in test file
* Remove Never type hints from core; mypy complained in test file
* Include optimization parameter basis (#79) * Fix references to DB filters in docs * Streamline naming in tests * Fix and test parameter list and tabulate for specific runs * Make indexset-creation a test utility * Incorporate changes from #110 * Use pandas for updated add_data behaviour * Raise minimum pandas version to enable add_data upsert * Generalize UsageError for more optimization items * Use generalized UsageError for Table * Use own errors for Parameter
* Remove Never type hints from core; mypy complained in test file
Decided to remove all the bespoke test data generation and replace it with a kind-of standardized "fixtures" folder.
The fixtures for the benchmarks are now also in the git repo and can be run by anyone without additional work.
The tests can now also run tests for different platform types, this enables us to disable a few hundred tests which are currently run even though we dont need them (f.e. sqlite runs in the postgres v15 tests).
I've configured the github action so all the test runs are run inparalell so PRs should be “✓” faster in the future.Running in parallel actually seems to add significant overhead to the amount of minutes used in total (about double)