<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>72067</bug_id>
          
          <creation_ts>2011-11-10 15:37:15 -0800</creation_ts>
          <short_desc>allow two chromium drivers to run at the same time in NRWT</short_desc>
          <delta_ts>2011-11-11 10:31:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>500348</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-10 15:37:15 -0800</bug_when>
    <thetext>allow two chromium drivers to run at the same time in NRWT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500352</commentid>
    <comment_count>1</comment_count>
      <attachid>114587</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-10 15:43:26 -0800</bug_when>
    <thetext>Created attachment 114587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500357</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-10 15:45:37 -0800</bug_when>
    <thetext>Another way to fix this would be to use server_process.py or switch to port/webkit.py, but that&apos;s a much harder change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500378</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-10 16:03:02 -0800</bug_when>
    <thetext>It shouldn&apos;t be that hard these days.  Someone has to pay that technical debt. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500385</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-10 16:09:26 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; It shouldn&apos;t be that hard these days.  Someone has to pay that technical debt. :)

server_process.py is filled with posix stuff that I don&apos;t think will ever work on win32 python.  It&apos;s been that way since it landed 18 months ago.  I fear that it&apos;s abstraction can&apos;t be made to work on win32 python.  Sounds hard to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500389</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-11-10 16:11:26 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; It shouldn&apos;t be that hard these days.  Someone has to pay that technical debt. :)
&gt; 
&gt; server_process.py is filled with posix stuff that I don&apos;t think will ever work on win32 python.  It&apos;s been that way since it landed 18 months ago.  I fear that it&apos;s abstraction can&apos;t be made to work on win32 python.  Sounds hard to me.

These statements are true.  I&apos;ll have to read the CrDriver code to see how it does non-blocking IO (if it does at all?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500397</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-11-10 16:16:52 -0800</bug_when>
    <thetext>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 &quot;read from a process with a timeout&quot; 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500898</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-11 10:30:53 -0800</bug_when>
    <thetext>Committed r99989: &lt;http://trac.webkit.org/changeset/99989&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114587</attachid>
            <date>2011-11-10 15:43:26 -0800</date>
            <delta_ts>2011-11-11 10:31:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72067-20111110154340.patch</filename>
            <type>text/plain</type>
            <size>4168</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk5MDcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjY2U5ZWFlMzk0ZjAwOGE5Mzk1ODcyZjAxZWYzYjc1MGMy
ZGM3NzUxLi40OTY4OWFkZjI0OGZkYjJlNWI4NGVhNTYwODVjMDVmZDFjYTliOTllIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAg
QEAKIDIwMTEtMTEtMTAgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAorICAgICAg
ICBhbGxvdyB0d28gY2hyb21pdW0gZHJpdmVycyB0byBydW4gYXQgdGhlIHNhbWUgdGltZSBpbiBO
UldUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weTogY2xvc2VfZmRzPVRy
dWUgb24KKyAgICAgICAgICAgIHBvc2l4IHByZXZlbnRzIHRoZSBzdWJwcm9jZXNzZXMgZnJvbSBz
aGFyaW5nIHRoZSBzYW1lIGZkIGZvciBzdGRpbi4KKyAgICAgICAgICAgIFNoYXJpbmcgdGhlIHNh
bWUgZmQgcHJldmVudHMgdXMgZnJvbSBjbG9zaW5nIHRoZSBmaWxlcyB1bmxlc3MgYWxsIHJlZmVy
ZW5jZXMKKyAgICAgICAgICAgIHRvIHRoZSBmZCBhcmUgY2xvc2VkLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1fdW5pdHRlc3QucHk6IEluIGFk
ZGl0aW9uCisgICAgICAgICAgICB0byBhZGRpbmcgYSB0ZXN0IGZvciB0aGlzLCBzcGVlZCB1cCBh
IHRlc3QgKGZyb20gM3NlYyB0byAwKSBieSBmaXhpbmcKKyAgICAgICAgICAgIHRoZSB0aW1lb3V0
IG92ZXJyaWRlLiBJdCBsb29rcyBsaWtlIGl0IHJlZ3Jlc3NlZCBpbiByOTU4NzUuCisKKzIwMTEt
MTEtMTAgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KKwogICAgICAgICBMYXppbHkg
c3RhcnQgRFJUIGluc3RhbmNlcyBpbiBOUldUCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzOAogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bS5weQppbmRleCA3ZjQ5ZGY2MmY3MjBhNWQ2
MmU1MmM5MzUyNDczMGU1MGY3MWU0ZDQzLi4xZTk3MzBkNTM3YTQ5NzdiODdiNmIzZWM2NjY5Nzcy
YjNiNGEwNDRhIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L2Nocm9taXVtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvY2hyb21pdW0ucHkKQEAgLTQ1Miw3ICs0NTIsOCBAQCBjbGFzcyBDaHJvbWl1bURy
aXZlcihEcml2ZXIpOgogICAgICAgICBhc3NlcnQgbm90IHNlbGYuX3Byb2MKICAgICAgICAgIyBG
SVhNRTogVGhpcyBzaG91bGQgdXNlIFNlcnZlclByb2Nlc3MgbGlrZSBXZWJLaXREcml2ZXIgZG9l
cy4KICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIGJlIHJlYWRpbmcgc3RkZXJyIGFuZCBzdGRv
dXQgc2VwYXJhdGVseSBsaWtlIGhvdyBXZWJLaXREcml2ZXIgZG9lcy4KLSAgICAgICAgc2VsZi5f
cHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oc2VsZi5jbWRfbGluZSgpLCBzdGRpbj1zdWJwcm9jZXNz
LlBJUEUsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkK
KyAgICAgICAgY2xvc2VfZmRzID0gc3lzLnBsYXRmb3JtIG5vdCBpbiAoJ3dpbjMyJywgJ2N5Z3dp
bicpCisgICAgICAgIHNlbGYuX3Byb2MgPSBzdWJwcm9jZXNzLlBvcGVuKHNlbGYuY21kX2xpbmUo
KSwgc3RkaW49c3VicHJvY2Vzcy5QSVBFLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9
c3VicHJvY2Vzcy5TVERPVVQsIGNsb3NlX2Zkcz1jbG9zZV9mZHMpCiAKICAgICBkZWYgcG9sbChz
ZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX3Byb2MucG9sbCgpCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9jaHJvbWl1bV91bml0
dGVzdC5weQppbmRleCBmZTljMjExMGJmOGU2ZDhiOTlmODdiYjgxZjhkMWVjZTA3NzJlYTVhLi5h
NmQ1YzU1ZTYzNThjOTQ1NWYzZWM5NzMwMjBmNDY3MGUzNTZmZTdjIDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Nocm9taXVtX3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvY2hyb21pdW1f
dW5pdHRlc3QucHkKQEAgLTI2LDggKzI2LDkgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAKLWltcG9ydCB1bml0dGVzdAogaW1wb3J0IFN0cmluZ0lPCitpbXBvcnQgdGltZQoraW1w
b3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgbG9ndGVz
dGluZwogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZV9tb2NrIGltcG9ydCBN
b2NrRXhlY3V0aXZlLCBNb2NrRXhlY3V0aXZlMgpAQCAtMTEwLDExICsxMTEsMzQgQEAgY2xhc3Mg
Q2hyb21pdW1Ecml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICBz
ZWxmLmRyaXZlci5fcHJvYy5wb2xsID0gbGFtYmRhOiAyCiAKICAgICAgICAgc2VsZi5kcml2ZXIu
X3BvcnQuX2V4ZWN1dGl2ZSA9IEZha2VFeGVjdXRpdmUoKQotICAgICAgICBzZWxmLmRyaXZlci5L
SUxMX1RJTUVPVVQgPSAwLjAxCisgICAgICAgICMgT3ZlcnJpZGUgdGhlIGtpbGwgdGltZW91dCAo
bXMpIHNvIHRoZSB0ZXN0IHJ1bnMgZmFzdGVyLgorICAgICAgICBzZWxmLmRyaXZlci5fcG9ydC5n
ZXRfb3B0aW9uID0gbGFtYmRhIG5hbWU6IDEKICAgICAgICAgc2VsZi5kcml2ZXIuc3RvcCgpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLndhaXRfY2FsbGVkKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhzZWxmLnBpZCwgMSkKIAorICAgIGRlZiB0ZXN0X3R3b19kcml2ZXJzKHNlbGYp
OgorICAgICAgICBtb2NrX3BvcnQgPSBNb2NrKCkKKworICAgICAgICBjbGFzcyBNb2NrRHJpdmVy
KGNocm9taXVtLkNocm9taXVtRHJpdmVyKToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxm
KToKKyAgICAgICAgICAgICAgICBjaHJvbWl1bS5DaHJvbWl1bURyaXZlci5fX2luaXRfXyhzZWxm
LCBtb2NrX3BvcnQsIHdvcmtlcl9udW1iZXI9MCkKKworICAgICAgICAgICAgZGVmIGNtZF9saW5l
KHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiAncHl0aG9uJworCisgICAgICAgICMgZ2V0
X29wdGlvbiBpcyB1c2VkIHRvIGdldCB0aGUgdGltZW91dCAobXMpIGZvciBhIHByb2Nlc3MgYmVm
b3JlIHdlIGtpbGwgaXQuCisgICAgICAgIG1vY2tfcG9ydC5nZXRfb3B0aW9uID0gbGFtYmRhIG5h
bWU6IDYwICogMTAwMAorICAgICAgICBkcml2ZXIxID0gTW9ja0RyaXZlcigpCisgICAgICAgIGRy
aXZlcjEuX3N0YXJ0KCkKKyAgICAgICAgZHJpdmVyMiA9IE1vY2tEcml2ZXIoKQorICAgICAgICBk
cml2ZXIyLl9zdGFydCgpCisgICAgICAgICMgSXQncyBwb3NzaWJsZSBmb3IgZHJpdmVyMSB0byB0
aW1lb3V0IHdoZW4gc3RvcHBpbmcgaWYgaXQncyBzaGFyaW5nIHN0ZGluIHdpdGggZHJpdmVyMi4K
KyAgICAgICAgc3RhcnRfdGltZSA9IHRpbWUudGltZSgpCisgICAgICAgIGRyaXZlcjEuc3RvcCgp
CisgICAgICAgIGRyaXZlcjIuc3RvcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0aW1lLnRp
bWUoKSAtIHN0YXJ0X3RpbWUgPCAyMCkKKwogCiBjbGFzcyBDaHJvbWl1bVBvcnRUZXN0KHBvcnRf
dGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICBwb3J0X21ha2VyID0gY2hyb21pdW0uQ2hyb21p
dW1Qb3J0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>