Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Python 3.13 #49970

Merged
merged 16 commits into from
Mar 4, 2025

Update assert_png to check for magic bytes directly

5d65e02
Select commit
Loading
Failed to load commit list.
Merged

Add support for Python 3.13 #49970

Update assert_png to check for magic bytes directly
5d65e02
Select commit
Loading
Failed to load commit list.
Community-TC Integration / wpt-firefox-nightly-results succeeded Feb 24, 2025 in 1h 10m 59s

Community-TC (pull_request)

Collect results for all tests affected by a pull request in firefox.

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2025-02-24T14:53:48.239Z
Resolved: 2025-02-24T15:43:08.456Z
Task Execution Time: 49 minutes, 20 seconds, 217 milliseconds
Task Status: completed
Reason Resolved: completed
RunId: 0

Artifacts

- public/logs/live_backing.log
- public/logs/live.log
- public/results/checkrun.md
- public/results/wpt_report.json.gz
- public/results/wpt_screenshot.txt.gz

WPT Command: python3 ./wpt run --channel=nightly --no-fail-on-unexpected --log-wptreport=../artifacts/wpt_report.json --log-wptscreenshot=../artifacts/wpt_screenshot.txt --affected base_head --log-mach-level=info --log-mach=- -y --no-pause --no-restart-on-unexpected --install-fonts --verify-log-full --no-headless --binary=/home/test/build/firefox/firefox firefox


[taskcluster 2025-02-24 14:53:48.302Z] Task ID: C9nkONrATaqpzqNfwzVKEQ
[taskcluster 2025-02-24 14:53:48.302Z] Worker ID: 1346039987712410144
[taskcluster 2025-02-24 14:53:48.302Z] Worker Group: us-east1-b
[taskcluster 2025-02-24 14:53:48.302Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2025-02-24 14:53:48.302Z] Worker Pool: proj-wpt/ci
[taskcluster 2025-02-24 14:53:48.302Z] Worker Version: 46.1.0
[taskcluster 2025-02-24 14:53:48.302Z] Public IP: 104.196.195.247
[taskcluster 2025-02-24 14:53:48.302Z] Hostname: proj-wpt-ci-cnajnqmasx-o-huk78o5xw

[taskcluster 2025-02-24 14:53:49.219Z] === Task Starting ===
+ '[' '' ']'
+ '[' -d /etc/profile.d ']'
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/01-locale-fix.sh ']'
+ . /etc/profile.d/01-locale-fix.sh
+++ /usr/bin/locale-check C.UTF-8
++ eval
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/libvirt-uri.sh ']'
+ . /etc/profile.d/libvirt-uri.sh

...(126424 lines hidden)...

  'pageY': 103,
  'pointerType': 'touch',
  'pressure': 0,
  'shiftKey': False,
  'tangentialPressure': 0,
  'target': 'pointerArea',
  'tiltX': 0,
  'tiltY': 0,
  'twist': 0,
  'type': 'pointerout',
  'width': 1},
 {'altKey': False,
  'altitudeAngle': 1.5707963267948966,
  'azimuthAngle': 0,
  'button': 0,
  'buttons': 0,
  'ctrlKey': False,
  'height': 1,
  'metaKey': False,
  'pageX': 68,
  'pageY': 103,
  'pointerType': 'touch',
  'pressure': 0,
  'shiftKey': False,
  'tangentialPressure': 0,
  'target': 'pointerArea',
  'tiltX': 0,
  'tiltY': 0,
  'twist': 0,
  'type': 'pointerleave',
  'width': 1}]
pointerArea = <WebElement 1f6a9a92-e206-4de1-8445-f0f5167ea8eb>
session    = <Session c427cd00-83e4-45df-9cbc-019f7aa6551a>
test_actions_pointer_page = None
touch_chain = <webdriver.client.ActionSequence object at 0x7fad13369100>

webdriver/tests/classic/perform_actions/pointer_touch.py:179: AssertionError
/webdriver/tests/classic/perform_actions/wheel.py
  FAIL test_scroll_iframe - webdriver.error.MoveTargetOutOfBoundsException: move target out of bounds (500): Move target (60, 415) is out of bounds of viewport dimensions (798, 394)
session = <Session 5e400736-0ac7-48ce-847b-b936cbe8fc28>
test_actions_scroll_page = None
wheel_chain = <webdriver.client.ActionSequence object at 0x7fad1324aa90>

    def test_scroll_iframe(session, test_actions_scroll_page, wheel_chain):
        target = session.find.css("#iframe", all=False)
    
>       wheel_chain.scroll(0, 0, 5, 10, origin=target).perform()

session    = <Session 5e400736-0ac7-48ce-847b-b936cbe8fc28>
target     = <WebElement 64adc567-b518-4bd9-b9cd-e0d864faa306>
test_actions_scroll_page = None
wheel_chain = <webdriver.client.ActionSequence object at 0x7fad1324aa90>

webdriver/tests/classic/perform_actions/wheel.py:68: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tools/webdriver/webdriver/client.py:22: in inner
    return func(self, *args, **kwargs)
        args       = ()
        func       = <function ActionSequence.perform at 0x7fad30689b80>
        kwargs     = {}
        self       = <webdriver.client.ActionSequence object at 0x7fad1324aa90>
        session    = <Session 5e400736-0ac7-48ce-847b-b936cbe8fc28>
tools/webdriver/webdriver/client.py:117: in perform
    self.session.actions.perform([self.dict])
        self       = <webdriver.client.ActionSequence object at 0x7fad1324aa90>
tools/webdriver/webdriver/client.py:22: in inner
    return func(self, *args, **kwargs)
        args       = ([{'actions': [{'deltaX': 5,
                'deltaY': 10,
                'origin': <WebElement 64adc567-b518-4bd9-b9cd-e0d864faa306>,
                'type': 'scroll',
                'x': 0,
                'y': 0}],
   'id': 'wheel_id',
   'type': 'wheel'}],)
        func       = <function Actions.perform at 0x7fad3068c3a0>
        kwargs     = {}
        self       = <webdriver.client.Actions object at 0x7fad13246400>
        session    = <Session 5e400736-0ac7-48ce-847b-b936cbe8fc28>
tools/webdriver/webdriver/client.py:283: in perform
    actions = self.session.send_session_command("POST", "actions", body)
        actions    = [{'actions': [{'deltaX': 5,
               'deltaY': 10,
               'origin': <WebElement 64adc567-b518-4bd9-b9cd-e0d864faa306>,
               'type': 'scroll',
               'x': 0,
               'y': 0}],
  'id': 'wheel_id',
  'type': 'wheel'}]
        body       = {'actions': [{'actions': [{'deltaX': 5,
                           'deltaY': 10,
                           'origin': <WebElement 64adc567-b518-4bd9-b9cd-e0d864faa306>,
                           'type': 'scroll',
                           'x': 0,
                           'y': 0}],
              'id': 'wheel_id',
              'type': 'wheel'}]}
        self       = <webdriver.client.Actions object at 0x7fad13246400>
tools/webdriver/webdriver/client.py:603: in send_session_command
    return self.send_command(method, url, body, timeout)
        body       = {'actions': [{'actions': [{'deltaX': 5,
                           'deltaY': 10,
                           'origin': <WebElement 64adc567-b518-4bd9-b9cd-e0d864faa306>,
                           'type': 'scroll',
                           'x': 0,
                           'y': 0}],
              'id': 'wheel_id',
              'type': 'wheel'}]}
        method     = 'POST'
        self       = <Session 5e400736-0ac7-48ce-847b-b936cbe8fc28>
        timeout    = None
        uri        = 'actions'
        url        = 'session/5e400736-0ac7-48ce-847b-b936cbe8fc28/actions'
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <Session 5e400736-0ac7-48ce-847b-b936cbe8fc28>, method = 'POST'
url = 'session/5e400736-0ac7-48ce-847b-b936cbe8fc28/actions'
body = {'actions': [{'actions': [{'deltaX': 5, 'deltaY': 10, 'origin': <WebElement 64adc567-b518-4bd9-b9cd-e0d864faa306>, 'type': 'scroll', ...}], 'id': 'wheel_id', 'type': 'wheel'}]}
timeout = None

    def send_command(self, method, url, body=None, timeout=None):
        """
        Send a command to the remote end and validate its success.
    
        :param method: HTTP method to use in request.
        :param uri: "Command part" of the HTTP request URL,
            e.g. `window/rect`.
        :param body: Optional body of the HTTP request.
    
        :return: `None` if the HTTP response body was empty, otherwise
            the `value` field returned after parsing the response
            body as JSON.
    
        :raises error.WebDriverException: If the remote end returns
            an error.
        :raises ValueError: If the response body does not contain a
            `value` key.
        """
    
        response = self.transport.send(
            method, url, body,
            encoder=protocol.Encoder, decoder=protocol.Decoder,
            session=self, timeout=timeout)
    
        if response.status != 200:
            err = error.from_response(response)
    
            if isinstance(err, error.InvalidSessionIdException):
                # The driver could have already been deleted the session.
                self.session_id = None
    
>           raise err
E           webdriver.error.MoveTargetOutOfBoundsException: move target out of bounds (500): Move target (60, 415) is out of bounds of viewport dimensions (798, 394)
E           
E           Remote-end stacktrace:
E           
E           RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
E           WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5
E           MoveTargetOutOfBoundsError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:518:5
E           assertTargetInViewPort@chrome://remote/content/shared/webdriver/Actions.sys.mjs:3103:11
E           #assertInViewPort@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:115:17
E           receiveMessage@chrome://remote/content/marionette/actors/MarionetteCommandsChild.sys.mjs:210:42

body       = {'actions': [{'actions': [{'deltaX': 5,
                           'deltaY': 10,
                           'origin': <WebElement 64adc567-b518-4bd9-b9cd-e0d864faa306>,
                           'type': 'scroll',
                           'x': 0,
                           'y': 0}],
              'id': 'wheel_id',
              'type': 'wheel'}]}
err        = <MoveTargetOutOfBoundsException http_status=500>
method     = 'POST'
response   = <Response status=500 error=<MoveTargetOutOfBoundsException http_status=500>>
self       = <Session 5e400736-0ac7-48ce-847b-b936cbe8fc28>
timeout    = None
url        = 'session/5e400736-0ac7-48ce-847b-b936cbe8fc28/actions'

tools/webdriver/webdriver/client.py:567: MoveTargetOutOfBoundsException
46:36.50 INFO Got 50 unexpected results, with 0 unexpected passes
46:36.50 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
46:36.52 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
46:36.54 wptserve INFO Stopped http server on 127.0.0.1:8002
46:36.55 wptserve INFO Stopped http server on 127.0.0.1:9000
46:36.56 wptserve INFO Stopped http server on 127.0.0.1:8001
46:36.57 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
46:36.94 wptserve INFO Stopped http server on 127.0.0.1:8000
46:36.95 wptserve INFO Stopped http server on 127.0.0.1:8443
46:36.98 wptserve INFO Stopped http server on 127.0.0.1:8444
46:36.98 wptserve INFO Stopped http server on 127.0.0.1:8446
46:36.98 wptserve INFO Stopped http server on 127.0.0.1:8445
46:36.99 wptserve INFO Stopped http server on 127.0.0.1:8003
46:37.05 INFO Removed font: Ahem.ttf
46:37.07 INFO Closing logging queue
46:37.07 INFO queue closed
46:37.07 INFO Tolerating 50 unexpected results
X connection to :99.0 broken (explicit kill or server shutdown).

[taskcluster 2025-02-24 15:43:06.651Z] === Task Finished ===
[taskcluster 2025-02-24 15:43:07.679Z] Successful task run with exit code: 0 completed in 2959.377 seconds