Skip to content
Snippets Groups Projects
Verified Commit 66885239 authored by Florian Atteneder's avatar Florian Atteneder
Browse files

implement select_reftest helper

parent 1f86ba3a
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ import REPL: TerminalMenus ...@@ -6,6 +6,7 @@ import REPL: TerminalMenus
using Printf using Printf
GLMakie.activate!() GLMakie.activate!()
using dg1d using dg1d
using TOML
function moving_average(y::AbstractVector; w=40) function moving_average(y::AbstractVector; w=40)
...@@ -30,11 +31,13 @@ function moving_average(y::AbstractVector; w=40) ...@@ -30,11 +31,13 @@ function moving_average(y::AbstractVector; w=40)
end end
function select(dir; display_basename=true) function select(dir; display_basename=true, filter_previous=true)
dir = abspath(normpath(dir)) dir = abspath(normpath(dir))
root, subdirs, _ = first(walkdir(dir)) root, subdirs, _ = first(walkdir(dir))
filter!(subdirs) do d if filter_previous
!endswith(d, ".previous") filter!(subdirs) do d
!endswith(d, ".previous")
end
end end
TerminalMenus.Config(; charset=:unicode, scroll_wrap=true) TerminalMenus.Config(; charset=:unicode, scroll_wrap=true)
menu = TerminalMenus.MultiSelectMenu(subdirs) menu = TerminalMenus.MultiSelectMenu(subdirs)
...@@ -43,10 +46,36 @@ function select(dir; display_basename=true) ...@@ -43,10 +46,36 @@ function select(dir; display_basename=true)
end end
function select_reftest(dir)
dir = abspath(normpath(dir))
testdir = normpath(joinpath(dir, "..", "tests"))
testconfig = joinpath(dir, "testconfig.toml")
if !isfile(testconfig)
error("$dir is not a directory with reftests")
end
config = TOML.parsefile(testconfig)
filter!(config) do (k,v)
!startswith(k, "default_")
end
avail_tests = collect(keys(config))
filter(avail_tests) do test
isfile(joinpath(dir, test)) && isfile(joinpath(testdir, test))
end
sort!(avail_tests)
TerminalMenus.Config(; charset=:unicode, scroll_wrap=true)
menu = TerminalMenus.RadioMenu(avail_tests)
selected = TerminalMenus.request("Select reftest:", menu)
reftestname = avail_tests[selected]
reftest = joinpath(dir, reftestname)
newresult = joinpath(testdir, reftestname)
return [ reftest, newresult ]
end
function get_parameter_file(dir) function get_parameter_file(dir)
dir = abspath(dir) dir = abspath(dir)
@assert isdir(dir) "'$dir' is not a directory name" @assert isdir(dir) "'$dir' is not a directory name"
dirname = dirname_path(dir) dirname = dg1d.dirname_path(dir)
filename = if endswith(dirname, ".previous") filename = if endswith(dirname, ".previous")
joinpath(dir, "$(splitext(dirname)[1]).toml") joinpath(dir, "$(splitext(dirname)[1]).toml")
else else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment