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

feat: ion test #34

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

feat: ion test #34

wants to merge 7 commits into from

Conversation

Roger-luo
Copy link
Owner

@Roger-luo Roger-luo commented Feb 22, 2023

this is something I always wanted - a test runner just runs Julia's own Test but in parallel and only based on file names without asking people putting include inside @testset, e.g

@testset "print" begin
   include("inline.jl")
   include("tree.jl")
   include("multi.jl")
end

this seems to be a quite common pattern in the ecosystem, and at least causing me to keep forgetting to include newly added tests quite often.


ion test basically just treats any dir/file starting with test_ as a separate test job and runs that with the following script

using TestEnv; TestEnv.activate(); include("test_xxxx.jl")

then collect the test report in async fashion (so we can make use of multi-threading) and print failed tests in the end, with -v, --verbose print the full test report optionally.


  • progress bar
  • async schedule via tokio use rayon for a work-stealing schedule fits our needs of nested parallelism better
  • pretty printing of test report
  • task collecting
  • task report
  • --test-threads option

@codecov
Copy link

codecov bot commented Feb 22, 2023

Codecov Report

Patch coverage: 11.57% and project coverage change: -1.53 ⚠️

Comparison is base (881190b) 56.11% compared to head (0183d1e) 54.59%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #34      +/-   ##
==========================================
- Coverage   56.11%   54.59%   -1.53%     
==========================================
  Files          73       75       +2     
  Lines        4514     4702     +188     
==========================================
+ Hits         2533     2567      +34     
- Misses       1981     2135     +154     
Impacted Files Coverage Δ
src/ion/lib.rs 100.00% <ø> (ø)
src/ion/test.rs 0.00% <0.00%> (ø)
src/ion/utils/julia.rs 63.39% <0.00%> (-2.35%) ⬇️
src/bin/ion/commands/test.rs 37.93% <37.93%> (ø)
src/bin/ion/commands/mod.rs 97.95% <100.00%> (+0.08%) ⬆️
src/ion/utils/paths.rs 75.00% <100.00%> (+75.00%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

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.

1 participant