RESOLVED FIXED 72067
allow two chromium drivers to run at the same time in NRWT
https://bugs.webkit.org/show_bug.cgi?id=72067
Summary allow two chromium drivers to run at the same time in NRWT
Tony Chang
Reported 2011-11-10 15:37:15 PST
allow two chromium drivers to run at the same time in NRWT
Attachments
Patch (4.07 KB, patch)
2011-11-10 15:43 PST, Tony Chang
no flags
Tony Chang
Comment 1 2011-11-10 15:43:26 PST
Tony Chang
Comment 2 2011-11-10 15:45:37 PST
Another way to fix this would be to use server_process.py or switch to port/webkit.py, but that's a much harder change.
Eric Seidel (no email)
Comment 3 2011-11-10 16:03:02 PST
It shouldn't be that hard these days. Someone has to pay that technical debt. :)
Tony Chang
Comment 4 2011-11-10 16:09:26 PST
(In reply to comment #3) > It shouldn't be that hard these days. Someone has to pay that technical debt. :) server_process.py is filled with posix stuff that I don't think will ever work on win32 python. It's been that way since it landed 18 months ago. I fear that it's abstraction can't be made to work on win32 python. Sounds hard to me.
Eric Seidel (no email)
Comment 5 2011-11-10 16:11:26 PST
(In reply to comment #4) > (In reply to comment #3) > > It shouldn't be that hard these days. Someone has to pay that technical debt. :) > > server_process.py is filled with posix stuff that I don't think will ever work on win32 python. It's been that way since it landed 18 months ago. I fear that it's abstraction can't be made to work on win32 python. Sounds hard to me. These statements are true. I'll have to read the CrDriver code to see how it does non-blocking IO (if it does at all?)
Dirk Pranke
Comment 6 2011-11-10 16:16:52 PST
The chromium code does blocking i/o, but I believe you could mark the sockets as non-blocking and just slow-spin instead. Alternatively, marc-antoine has been working on a similar implementation using WaitForMultipleEvents (in python) in depot_tools, so we can just wait for him to finish getting all the bugs out of his version, and steal that. Making the basic "read from a process with a timeout" abstraction can definitely be done, but there is also the fact that the chromium DRT outputs differently-formatted output than the non-Chromium DRTs do. We need to go back and make the non-test-shell format work in Chromium DRT, and then it would be much easier to unify the two sets of code.
Tony Chang
Comment 7 2011-11-11 10:30:53 PST
Note You need to log in before you can comment on or make changes to this bug.