Title: [273834] trunk/Tools
Revision
273834
Author
jbed...@apple.com
Date
2021-03-03 13:05:25 -0800 (Wed, 03 Mar 2021)

Log Message

[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.

Modified Paths

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=[
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to