Diff
Modified: trunk/Tools/ChangeLog (273833 => 273834)
--- trunk/Tools/ChangeLog 2021-03-03 21:04:47 UTC (rev 273833)
+++ trunk/Tools/ChangeLog 2021-03-03 21:05:25 UTC (rev 273834)
@@ -1,3 +1,23 @@
+2021-03-03 Jonathan Bedard <jbed...@apple.com>
+
+ [resultsdbpy] Make testing compatible with Python 3.8
+ https://bugs.webkit.org/show_bug.cgi?id=222678
+ <rdar://problem/74997936>
+
+ Rubber-stamped by Aakash Jain.
+
+ * Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py: Bump version.
+ * Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_test_context.py:
+ (FlaskTestContext):
+ (FlaskTestContext.start_webserver): Make function pickle able.
+ (FlaskTestContext.__init__): Pass class to owning webserver setup.
+ (FlaskTestContext.__enter__):
+ * Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_testcase.py:
+ (FlaskTestCase.run_with_real_webserver.decorator.real_method):
+ * Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_context.py:
+ (filter_for_argument): Style fix.
+ * Scripts/libraries/resultsdbpy/setup.py: Bump version.
+
2021-03-03 Kate Cheney <katherine_che...@apple.com>
Report the correct document uri in the case of a ContentSecurityPolicyClient
Modified: trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py (273833 => 273834)
--- trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py 2021-03-03 21:04:47 UTC (rev 273833)
+++ trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/__init__.py 2021-03-03 21:05:25 UTC (rev 273834)
@@ -44,6 +44,6 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(1, 1, 2)
+version = Version(1, 1, 3)
name = 'resultsdbpy'
Modified: trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_test_context.py (273833 => 273834)
--- trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_test_context.py 2021-03-03 21:04:47 UTC (rev 273833)
+++ trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_test_context.py 2021-03-03 21:05:25 UTC (rev 273834)
@@ -30,23 +30,24 @@
class FlaskTestContext(object):
PORT = 5001
- @classmethod
- def start_webserver(cls, method, semaphore):
+ @staticmethod
+ def start_webserver(cls, semaphore, **kwargs):
try:
app = Flask('testing')
- method(app)
+ cls.setup_webserver(app, **kwargs)
app.add_url_rule('/__health', 'health', lambda: 'ok', methods=('GET',))
finally:
semaphore.release()
- return app.run(host='0.0.0.0', port=cls.PORT)
+ return app.run(host='0.0.0.0', port=FlaskTestContext.PORT)
- def __init__(self, method):
- self.method = method
+ def __init__(self, cls, **kwargs):
+ self.cls = cls
+ self.kwargs = kwargs
self.process = None
def __enter__(self):
semaphore = Semaphore(0)
- self.process = Process(target=self.start_webserver, args=(self.method, semaphore))
+ self.process = Process(target=self.start_webserver, args=(self.cls, semaphore), kwargs=self.kwargs)
self.process.start()
with semaphore:
Modified: trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_testcase.py (273833 => 273834)
--- trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_testcase.py 2021-03-03 21:04:47 UTC (rev 273833)
+++ trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/flask_support/flask_testcase.py 2021-03-03 21:05:25 UTC (rev 273834)
@@ -89,7 +89,7 @@
def run_with_real_webserver(cls):
def decorator(method):
def real_method(val, method=method, **kwargs):
- with FlaskTestContext(lambda app: val.setup_webserver(app, **kwargs)):
+ with FlaskTestContext(type(val), **kwargs):
return method(val, client=requests, **kwargs)
real_method.__name__ = method.__name__
return real_method
Modified: trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_context.py (273833 => 273834)
--- trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_context.py 2021-03-03 21:04:47 UTC (rev 273833)
+++ trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/cassandra_context.py 2021-03-03 21:05:25 UTC (rev 273834)
@@ -272,7 +272,7 @@
return regex_filter
- elif operator is None or operator is 'in':
+ elif operator is None or operator == 'in':
return lambda v, key_value=key_value, value=value: getattr(v, key_value) == value
raise self.SelectException('Unrecognized operator {}'.format(operator))
Modified: trunk/Tools/Scripts/libraries/resultsdbpy/setup.py (273833 => 273834)
--- trunk/Tools/Scripts/libraries/resultsdbpy/setup.py 2021-03-03 21:04:47 UTC (rev 273833)
+++ trunk/Tools/Scripts/libraries/resultsdbpy/setup.py 2021-03-03 21:05:25 UTC (rev 273834)
@@ -30,7 +30,7 @@
setup(
name='resultsdbpy',
- version='1.1.2',
+ version='1.1.3',
description='Library for visualizing, processing and storing test results.',
long_description=readme(),
classifiers=[