From c69acd184826b87d29a91c78b149cd413dec29bd Mon Sep 17 00:00:00 2001 From: Samson <16504129+sagudev@users.noreply.github.com> Date: Wed, 28 Aug 2024 21:03:42 +0200 Subject: [PATCH] Fix run_dromaeo.py (#33239) Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com> --- .gitignore | 1 + tests/dromaeo/run_dromaeo.py | 28 +++++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 51d7f4d48fd..2d96fbde73a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ /python/_venv* /python/tidy/servo_tidy.egg-info /tests/wpt/sync +/tests/dromaeo/dromaeo *.pkl *.pyc *.swp diff --git a/tests/dromaeo/run_dromaeo.py b/tests/dromaeo/run_dromaeo.py index 3a12652021f..5e9d2c54228 100755 --- a/tests/dromaeo/run_dromaeo.py +++ b/tests/dromaeo/run_dromaeo.py @@ -4,13 +4,13 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. +from http.server import HTTPServer, SimpleHTTPRequestHandler import os import subprocess import sys -import BaseHTTPServer -import SimpleHTTPServer -import urlparse +import urllib import json +import urllib.parse # Port to run the HTTP server on for Dromaeo. @@ -29,16 +29,19 @@ def print_usage(): print("USAGE: {0} tests servo_binary dromaeo_base_dir".format(sys.argv[0])) +post_data = None + + # Handle the POST at the end -class RequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): +class RequestHandler(SimpleHTTPRequestHandler): def do_POST(self): + global post_data self.send_response(200) self.end_headers() - self.wfile.write("POST OK.

") - length = int(self.headers.getheader('content-length')) - parameters = urlparse.parse_qs(self.rfile.read(length)) - self.server.got_post = True - self.server.post_data = parameters['data'] + self.wfile.write(b"POST OK.

") + length = int(self.headers.get('content-length')) + parameters = urllib.parse.parse_qs(self.rfile.read(length)) + post_data = parameters[b'data'] def log_message(self, format, *args): return @@ -57,14 +60,13 @@ if __name__ == '__main__': sys.exit(1) # Start the test server - server = BaseHTTPServer.HTTPServer(('', TEST_SERVER_PORT), RequestHandler) + server = HTTPServer(('', TEST_SERVER_PORT), RequestHandler) print("Testing Dromaeo on Servo!") proc = run_servo(servo_exe, tests) - server.got_post = False - while not server.got_post: + while not post_data: server.handle_request() - data = json.loads(server.post_data[0]) + data = json.loads(post_data[0]) number = 0 length = 0 for test in data: