Bug 88841

Summary: make NRWT "more hackable" and/or simpler
Product: WebKit Reporter: Dirk Pranke <dpranke>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: fpizlo, mjs, ossy, rakuco, rniwa, tmpsantos
Priority: P2 Keywords: NRWT
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 88680    

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.