Bug 76156

Summary: [Meta] DRT should be able to run Dromaeo
Product: WebKit Reporter: Hajime Morrita <morrita>
Component: Tools / TestsAssignee: Hajime Morrita <morrita>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: eric, rniwa, skyul
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 77512, 80079, 80776, 76242, 76245, 77328, 77329, 77504, 78303    
Bug Blocks: 77037    

Description Hajime Morrita 2012-01-12 01:47:26 PST
This is a tracking bug.

To make performance measurement more easy and automatable,
I'd like to run various existing perf tests on DRT.
I'm particularly interested in Dromaeo  since 
- It has some DOM centric tests, which we have only a few, and
- It is already almost automated so we just need small tweak (I guess).

My current idea is to
- Add small number of APIs and/or command-line options to DRT
- Upstream DRT specific changes to Dromaeo - they already have some spidermonkey-specific calls.
   If we couldn't upstream the change, we can maintain a fork. But my guess is that they are liberal enough.

I'd start from Mac DRT then move to Chromium DRT.
Comment 1 Hajime Morrita 2012-01-12 01:52:23 PST
I understand that the performance measurement on DRT isn't perfect
because it behaves differently from the real browsers in, for example, painting and event handling.
But even so, this would be nice to have, especially for automation and easy to use.
Comment 2 Ryosuke Niwa 2012-01-12 01:55:17 PST
What kind of DRT changes do we need to make? Can't we already run Dromaeo if we modified the script a little bit?
Comment 3 Hajime Morrita 2012-01-12 02:30:18 PST
(In reply to comment #2)
> What kind of DRT changes do we need to make? Can't we already run Dromaeo if we modified the script a little bit?
What I found is that we need 

A. a way to supress timeout watchdog (Chromium already has it IIRC)
B. an alternative for query string to specify the type of test to run. 
    The file URL doesn't support the query string and supporting it looks a bit tricky on Mac.

We don't need B if we can run it via HTTP server. But it would suffer the stability.
So passing something like argument would help.
Comment 4 Ryosuke Niwa 2012-01-12 02:38:44 PST
(In reply to comment #3)
> A. a way to supress timeout watchdog (Chromium already has it IIRC)

I see. This should probably a layoutTestController/internals feature?

> B. an alternative for query string to specify the type of test to run. 
>     The file URL doesn't support the query string and supporting it looks a bit tricky on Mac.

Really? Query string doesn't work on file URLs?
Comment 5 Hajime Morrita 2012-01-12 03:25:59 PST
(In reply to comment #4)
> (In reply to comment #3)
> > A. a way to supress timeout watchdog (Chromium already has it IIRC)
> 
> I see. This should probably a layoutTestController/internals feature?

Chromium DRT supports "--no-timeout" commandline option. So I'll follow that way.

> 
> > B. an alternative for query string to specify the type of test to run. 
> >     The file URL doesn't support the query string and supporting it looks a bit tricky on Mac.
> 
> Really? Query string doesn't work on file URLs?

It is a valid URL. But DRT (Mac DRT at least) doesn't handle it as expected.
Because the file path is represented in URL object (in mac, its NSURL) and
handled by the platform stack of each platform, we cannot rely on its edge behavior
assuming  we cannot change them.

Well, providing a direct alternative is just an idea. We can explore another path.
For example, providing a way to extra scripts (like content scripts of chromium extension) 
might be more flexible.
Comment 6 Hajime Morrita 2012-01-19 17:42:28 PST
Update:

Now I made a small fork of Dromaeo for DRT.
https://github.com/omo/dromaeo
See https://github.com/omo/dromaeo/wiki/Running-on-DRT to try.

I'm investigating how we can integrate this to run-perf-test
Comment 7 Eric Seidel (no email) 2012-11-05 16:19:33 PST
Doesn't DRT already run Dromaeo as part of run-perf-tests?
Comment 8 Hajime Morrita 2012-11-05 22:25:43 PST
(In reply to comment #7)
> Doesn't DRT already run Dromaeo as part of run-perf-tests?
Right. this is used for tracking Dromaeo related test bugs
but looks better to be merged to Bug 77037.

*** This bug has been marked as a duplicate of bug 77037 ***