Skip to content
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

Improve tests #28

Merged
merged 10 commits into from Apr 26, 2021
Merged

Improve tests #28

merged 10 commits into from Apr 26, 2021

Conversation

nalimilan
Copy link
Member

@nalimilan nalimilan commented Feb 22, 2021

Running tests for each package separately isn't very useful as they run their tests already, and it hits timeout given how long this takes.
What we would ideally do is run them in the same process after loading StatsKit, but that's currently not possible.

Testing that reexxported packages do not have conflicting identifiers seems more useful.

This depends on #27.

Running tests for each package separately isn't very useful as they run their tests
already, and it hits timeout given how long this takes.
What we would ideally do is run them in the same process after loading StatsKit,
but that's currently not possible.

Testing that reexxported packages do not have conflicting identifiers seems more useful.
@nalimilan nalimilan closed this Feb 22, 2021
@nalimilan nalimilan reopened this Feb 22, 2021
Comment on lines +30 to +32
exceptions = [:ci, :head, :lead, :predict, :predict, :rename!, :rename, :msd, :evaluate,
:rmsd, :ci, :rename!, :lag, :lag, :tail, :colwise, :colwise, :head, :meanad,
:msd, :transform, :tail, :rmsd, :rename, :transform, :evaluate, :lead]
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So it turns out that this test was more interesting than I thought! It would be worth running it on all JuliaStats and JuliaData packages. Conflicts seem to indicate that we should really create a StatsAPI package so that we override common definitions of standard methods.

See #22 (comment) about conflicts between ShiftedArrays and TimeSeries (since the addition of ShiftedArrays hasn't be released yet).

Conflicts between StatsBase and Distances should probably be resolved by deprecating the StatsBase functions in favor of those in Distances, since the latter is more specialized and more lightweight.

conflicts = Dict{Any,Symbol}(TimeSeries.rename => :rename,DataFrames.rename => :rename)
conflicts = Dict{Any,Symbol}(ShiftedArrays.lead => :lead,TimeSeries.lead => :lead)
conflicts = Dict{Any,Symbol}(Loess.predict => :predict,StatsBase.predict => :predict)
conflicts = Dict{Any,Symbol}(HypothesisTests.ci => :ci,Bootstrap.ci => :ci)
conflicts = Dict{Any,Symbol}(StatsBase.meanad => :meanad,Distances.meanad => :meanad)
conflicts = Dict{Any,Symbol}(HypothesisTests.ci => :ci,Bootstrap.ci => :ci)
conflicts = Dict{Any,Symbol}(Distances.evaluate => :evaluate,MultivariateStats.evaluate => :evaluate)
conflicts = Dict{Any,Symbol}(ShiftedArrays.lag => :lag,TimeSeries.lag => :lag)
conflicts = Dict{Any,Symbol}(StatsBase.msd => :msd,Distances.msd => :msd)
conflicts = Dict{Any,Symbol}(StatsBase.msd => :msd,Distances.msd => :msd)
conflicts = Dict{Any,Symbol}(StatsBase.rmsd => :rmsd,Distances.rmsd => :rmsd)
conflicts = Dict{Any,Symbol}(TimeSeries.rename => :rename,DataFrames.rename => :rename)
conflicts = Dict{Any,Symbol}(ShiftedArrays.lag => :lag,TimeSeries.lag => :lag)
conflicts = Dict{Any,Symbol}(TimeSeries.rename! => :rename!,DataFrames.rename! => :rename!)
conflicts = Dict{Any,Symbol}(Distances.evaluate => :evaluate,MultivariateStats.evaluate => :evaluate)
conflicts = Dict{Any,Symbol}(StatsBase.meanad => :meanad,Distances.meanad => :meanad)
conflicts = Dict{Any,Symbol}(DataFrames.transform => :transform,MultivariateStats.transform => :transform)
conflicts = Dict{Any,Symbol}(StatsBase.rmsd => :rmsd,Distances.rmsd => :rmsd)
conflicts = Dict{Any,Symbol}(DataFrames.transform => :transform,MultivariateStats.transform => :transform)
conflicts = Dict{Any,Symbol}(TimeSeries.rename! => :rename!,DataFrames.rename! => :rename!)
conflicts = Dict{Any,Symbol}(Loess.predict => :predict,StatsBase.predict => :predict)
conflicts = Dict{Any,Symbol}(ShiftedArrays.lead => :lead,TimeSeries.lead => :lead)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes - this is super useful. StatsAPI.jl is needed. But I guess this should not delay merging this PR. Right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this PR ensures we catch new conflicts so better merge it.

@nalimilan nalimilan closed this Apr 25, 2021
@nalimilan nalimilan reopened this Apr 25, 2021
@nalimilan nalimilan requested a review from bkamins April 25, 2021 13:42
# JuliaStats/StatsModels.jl#218,
# JuliaStats/MultivariateStats.jl#142,
# JuliaArrays/ShiftedArrays.jl#42,
# JuliaStats/TimeSeries.jl#487

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That PR has been merged already JuliaStats/TimeSeries.jl#487

Suggested change
# JuliaStats/TimeSeries.jl#487

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. I've pushed a commit to remove a few functions which have been fixed since then.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, it appears that Julia 1.0 still uses old versions of most of these packages (because of some dependencies?). Let's keep this for now, once the new LTS is out we'll probably drop support for 1.0.

@nalimilan nalimilan merged commit 7657ae8 into master Apr 26, 2021
@nalimilan nalimilan deleted the nl/tests branch April 26, 2021 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants