Mercurial > repos > public > sbplib_julia
view test/runtests.jl @ 709:48a61e085e60 feature/selectable_tests
Add function for selecting tests
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sat, 20 Feb 2021 20:31:08 +0100 |
parents | a79d7b3209c9 |
children | df88aee35bb9 |
line wrap: on
line source
using Test using Glob """ run_testfiles() run_testfiles(path) run_testfiles(path, glob) Find and run all files with filenames starting with "test". If `path` is omitted the test folder is assumed. The argument `glob` can optionally be supplied to filter which test files are run. """ function run_testfiles(args) if isempty(args) glob = fn"./*" else glob = Glob.FilenameMatch("./"*args[1]) #TBD: Allow multiple filters? end run_testfiles(".", glob) end # TODO change from prefix `test` to suffix `_test` for testfiles function run_testfiles(path, glob) for name ∈ readdir(path) filepath = joinpath(path, name) if isdir(filepath) @testset "$name" begin run_testfiles(filepath, glob) end end if !endswith(name, ".jl") ## TODO combine this into test below when switching to suffix continue end if startswith(name, "test") && occursin(glob, filepath) printstyled("Running "; bold=true, color=:green) println(filepath) include(filepath) end end end testsetname = isempty(ARGS) ? "Sbplib.jl" : ARGS[1] @testset "$testsetname" begin run_testfiles(ARGS) end