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.