28 | | `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. |
| 28 | `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 increasing specificity to find additional platform-specific tests to run. |
| 29 | |
| 30 | == Finding Expected Results == |
| 31 | When searching for the expected results for a specific test, `run-webkit-tests` should search through each directory in the platform hierarchy in order of decreasing specificity, then search in `LayoutTests/` if no platform-specific result is found. The first expected result found is the one used, regardless of whether it results in a success or failure for the test. |
| 32 | |
| 33 | == Generating New Results == |
| 34 | New platform-specific tests should have their results generated right next to the test. For example, a new test called `LayoutTests/platform/mac/leopard/fast/new-leopard-test.html` should have its results placed in `LayoutTests/platform/mac/leopard/fast/`. |
| 35 | |
| 36 | New cross-platform tests (those not in a subdirectory of `platform/`) should have their results generated in one of two places. For text-only tests, the results should be put next to the test itself. For render tree tests, the results should be put in the least-specific directory in the platform hierarchy (i.e., one of the top-level subdirectories of `platform/`). So, a new render tree test called `LayoutTests/fast/new-test.html` should have its results placed in `LayoutTests/platform/<name>/fast/`, where `<name>` is the least-specific platform name. (Note that this will mean that new render tree results will only be generated for one platform at a time.) If the user decides that the results are either more or less specific than the default location implies, the user should move the results manually. |