= Planned Design For run-webkit-tests = == Directory Structure == * LayoutTests/ * ''cross-platform tests and results'' * platform/ * mac/ * ''Mac-specific tests, results, and Skipped file'' * mac-leopard/ * ''Leopard-specific tests, results, and Skipped file'' * qt/ * ''Qt-specific tests, results, and Skipped file'' * win/ * ''Windows-specific tests, results, and Skipped file'' The platform directories are named based on a hyphenated-prefix system. For example, `mac-leopard` is a subset of `mac`. == Configuration == Each platform configuration should define one variable, `$platformTestDirectory`, that specifies the most specific directory under `LayoutTests/platform/` that applies to that platform. For instance, on Mac OS X Leopard, `mac-leopard` should be specified. This name is broken into all possible hyphenated prefixes. For example, if a platform specifies `a-b-c` as its `$platformTestDirectory`, the directories in its ''platform hierarchy'' become (in order of most- to least-specific): * `a-b-c` * `a-b` * `a` == Finding Tests == `run-webkit-tests` should search recursively through all the subdirectories of `LayoutTests/` to find test files, just as it does currently. However, it should '''not''' search recursively beneath `platform/`. It should then search through each of the directories in the platform hierarchy in order of least- to most-specific to find additional platform-specific tests to run.