Skip to content

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.

2 participants