Changeset 220754 in webkit


Ignore:
Timestamp:
Aug 15, 2017 1:21:26 PM (7 years ago)
Author:
commit-queue@webkit.org
Message:

WPT harness errors on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=175269

Patch by Youenn Fablet <youenn@apple.com> on 2017-08-15
Reviewed by Alexey Proskuryakov.

To try debugging these errors, let's check whether the WPT server is
sending back resources of the expected size.

  • web-platform-tests/tools/wptserve/wptserve/response.py:

(Response.write_content):
(ResponseWriter.write_content):
(ResponseWriter.write):
(ResponseWriter.write_content_file):

Location:
trunk/LayoutTests/imported/w3c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r220751 r220754  
     12017-08-15  Youenn Fablet  <youenn@apple.com>
     2
     3        WPT harness errors on leaks bot
     4        https://bugs.webkit.org/show_bug.cgi?id=175269
     5
     6        Reviewed by Alexey Proskuryakov.
     7
     8        To try debugging these errors, let's check whether the WPT server is
     9        sending back resources of the expected size.
     10
     11        * web-platform-tests/tools/wptserve/wptserve/response.py:
     12        (Response.write_content):
     13        (ResponseWriter.write_content):
     14        (ResponseWriter.write):
     15        (ResponseWriter.write_content_file):
     16
    1172017-08-15  Chris Dumez  <cdumez@apple.com>
    218
  • trunk/LayoutTests/imported/w3c/web-platform-tests/tools/wptserve/wptserve/response.py

    r215515 r220754  
    33import Cookie
    44import json
     5import traceback
    56import types
    67import uuid
     
    206207    def write_content(self):
    207208        """Write out the response content"""
     209        response_size = 0
    208210        if self.request.method != "HEAD" or self.send_body_for_head_request:
    209211            for item in self.iter_content():
    210                 self.writer.write_content(item)
     212                response_size += self.writer.write_content(item)
     213        self.logger.debug("Wrote content of size %d for %s" % (response_size, self.request.request_path))
    211214
    212215    def write(self):
     
    369372        self.request = response.request
    370373        self.file_chunk_size = 32 * 1024
     374        self.logger = get_logger()
    371375
    372376    def write_status(self, code, message=None):
     
    425429    def write_content(self, data):
    426430        """Write the body of the response."""
     431        response_size = 0
    427432        if isinstance(data, types.StringTypes):
    428             self.write(data)
     433            response_size = self.write(data)
    429434        else:
    430             self.write_content_file(data)
     435            response_size = self.write_content_file(data)
    431436        if not self._response.explicit_flush:
    432437            self.flush()
     438        return response_size
    433439
    434440    def write(self, data):
     
    437443        self.content_written = True
    438444        try:
    439             self._wfile.write(self.encode(data))
     445            buffer = self.encode(data)
     446            self._wfile.write(buffer)
     447            return len(buffer)
    440448        except socket.error:
    441449            # This can happen if the socket got closed by the remote end
     450            self.logger.debug("Got exception when writing response " + traceback.format_exc())
    442451            pass
    443452
     
    446455        Does not flush."""
    447456        self.content_written = True
     457        written_size = 0
    448458        while True:
    449459            buf = data.read(self.file_chunk_size)
     460            written_size += len(buf)
    450461            if not buf:
    451462                break
     
    453464                self._wfile.write(buf)
    454465            except socket.error:
     466                self.logger.debug("Got exception when writing response " + traceback.format_exc())
    455467                break
    456468        data.close()
     469        return written_size
    457470
    458471    def encode(self, data):
Note: See TracChangeset for help on using the changeset viewer.