Current pain points:
- Vast majority of tests are functional tests and few unit tests. Failing functional tests take time to track down and sometimes an unrelated change can cause a test to fail.
- Test suite can take over a minute to run and can't be continuously run (e.g. in "watch" mode)
- The DevTools test harness has numerous indirections that make the test difficult to read. For example, the initialize_* test functions are serialized in in the inspected page context and then executed in DevTools context by the backend test runner.
Plan for improvement:
- Turn the unit tests into regular javascript tests that can be executed outside of the Layout Test harness (this enables us to use open source Javascript testing tools).
- Enable testRunner to be executed from the DevTools context directly and simplify the test harness logic.
- Turn the most / the rest of the tests into javascript tests
Advantage of turning tests into javascript tests:
- Reduces boilerplate
- Easier to understand
- Enables us to use other test harnesses (esp. unit tests)