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
[ENH] dependency and diff test switch for individual estimators to decorate non-suite tests #5084
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fkiraly
added
maintenance
Continuous integration, unit testing & package distribution
module:tests
test framework functionality - only framework, excl specific tests
enhancement
Adding new functionality
labels
Aug 12, 2023
fkiraly
requested review from
achieveordie,
benHeid and
yarnabrina
as code owners
August 12, 2023 17:25
yarnabrina
previously approved these changes
Aug 13, 2023
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.
Added 2 minor non-blocking suggestions, and skipped conformal testing.
Co-authored-by: Anirban Ray <39331844+yarnabrina@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
enhancement
Adding new functionality
maintenance
Continuous integration, unit testing & package distribution
module:tests
test framework functionality - only framework, excl specific tests
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a test switch for individual estimators that can be used to decorate non-suite pytest tests.
The test switch reads the
pytest
parameters, and if used in askipif
decorator will run the test iff all soft dependencies are present, and if the estimator module has changed (if theONLY_CHANGED_MODULES
switch is on).This should allow us to minimize test time, by gradually removing all estimator specific costly tests using this decorator.
As a proof of concept, this PR decorates the most costly non-suite tests in the code base (mostly various heavy time series classifier ensembles and such) to be executed only upon module change.
Includes the following changes:
main
on thetest-nosoftdeps-full
CI element so it can compute a non-trivial diff tomain
ConformalIntervals
doctest into separatepytest
tests to allow it to be decorated"numba"
dependency tag to the HIVE-COTE classifiersAs both the module of
ConformalIntervals
and the HIVE-COTE classifiers change (see above), we can consider these test cases, as we would expect the specific non-suite tests for the respective estimators to run in this CI element, while we would not expect the other decorated tests to run.