Bug 88841 - make NRWT "more hackable" and/or simpler
Summary: make NRWT "more hackable" and/or simpler
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: NRWT
Depends on:
Blocks: 88680
  Show dependency treegraph
 
Reported: 2012-06-11 23:25 PDT by Dirk Pranke
Modified: 2012-06-19 14:18 PDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Pranke 2012-06-11 23:25:17 PDT
In a thread on webkit-dev devoted to moving from Skipped files to TestExpectations files it was stated that NRWT was either overengineered or less hackable than ORWT. 

http://lists.webkit.org/pipermail/webkit-dev/2012-June/020989.html

I am filing this bug to track any suggestions people might have for how this could be fixed? Please feel free to suggest things you'd like to see improved or things that you have found difficult or annoying while working on the NRWT code base.

Note that this bug is intended to track non-user-visible issues. Actual bugs and/or feature requests should be tracked separately. This bug should be focused on what we can do to simplify the code base and make it more dev-friendly.

Ideas?
Comment 1 Dirk Pranke 2012-06-11 23:49:09 PDT
One observation is that there's certainly a bunch of code complexity that can be reduced or eliminated. Some obvious candidates:

1) strip a bunch of stuff out of the Port class to make it simpler (see bug 71403)

2) simplify and improve the abstractions that we use for managing concurrency (see bug 82116)

3) merge the base Port implementation and the WebKitPort implementation

4) revisit some of the assumptions in the Port interface (like the idea that all access to tests and results are mediated by the Port class; maybe having a mock filesystem is enough?)

5) remove a lot of the logging and statistics gathering ... consider moving more data into results.json or some other mechanism so that we can separate execution from analysis. It's also not even clear how much of the statistics and logging is still worthwhile. Certainly the --print flags are way more complicated than they need to be.