b0655f90

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Let a scenario carry whether it is a file or a directory

scenarioDir, scenarioDirRecur and scenarioDirOfDirs took a FilePath and handed
the callback a FilePath, so the one thing the caller had to know about a
scenario, whether it was a file or a directory, was the one thing the type
would not tell them. scenarioDirOfDirs handing out a directory and scenarioDir
handing out a file had the same signature.

They now take a Path b Dir and hand over a Path b File or a Path b Dir. The base
is the one the directory was given with, so a relative directory still names its
scenarios relative to the working directory, and running scenarios over a
withSystemTempDir still works with the absolute path it gives.

Test descriptions are unchanged, separator and all, so a --filter over them
still selects the same tests.

sydtest-test no longer depends on filepath: joining a scenario directory to a
file in it was the only thing it wanted System.FilePath for, and Path's own </>
does that with the types lined up.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 0s 1s 1s 1s 0s
Eval 1s 59s 59s 1m00s 0s
Build 1m00s 16m20s 10m34s 11m35s 0s
Suite 0s 17m21s 11m35s 11m35s 0s

Timeline

0s1m2m3m4m5m6m7m8m9m10m11m