Rewrite KSPaths::writableLocation to give test their own environment.
This MR rewrites KSPaths::writableLocation
to be equivalent to QStandardPaths::writableLocation
, and adjusts KSPaths::locate
and KSPaths::locateAll
to avoid hardcoding an application name when not running a test. This therefore impacts their usage throughout KStars, which this MR takes care of. This is in the context of #86 (closed).
This MR thus allows tests, which have different executable names, to store data in their own space such as ~/.qttest/share/<test name>
or ~/.qttest/cache/<test name>
and avoid overwriting data of other tests. This is a first step towards parallel execution.
When running a test, application-local locations embed the application name. For tests to find their files in either the test-based or kstars-based locations, KSPaths::locate
and KSPaths::locateAll
are adjusted to retry finding their target with kstars
hardcoded. Note that QtTest
enforces the usage of the .qttest
subfolder of the $HOME
folder, which prevents tests from finding anything in the $HOME/.local
folder, even when looking for the hardcoded kstars
.