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

[wdspec] fix partition regression #49446

Merged
merged 1 commit into from
Nov 29, 2024

[wdspec] fix partition regression

ed72649
Select commit
Loading
Failed to load commit list.
Merged

[wdspec] fix partition regression #49446

[wdspec] fix partition regression
ed72649
Select commit
Loading
Failed to load commit list.
Community-TC Integration / wpt-firefox-nightly-results-without-changes succeeded Nov 29, 2024 in 5m 27s

Community-TC (pull_request)

Collect results for all tests affected by a pull request in firefox but without the changes in the PR.

Details

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

Task Status

Started: 2024-11-29T20:01:24.145Z
Resolved: 2024-11-29T20:04:25.096Z
Task Execution Time: 3 minutes, 951 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 task_head --log-mach-level=info --log-mach=- -y --no-pause --no-restart-on-unexpected --install-fonts --no-headless --verify-log-full --binary=/home/test/build/firefox/firefox firefox


[taskcluster 2024-11-29 20:01:24.188Z] Task ID: EYmGvMssS-mmUt9V4Kca4w
[taskcluster 2024-11-29 20:01:24.188Z] Worker ID: 8477259774535640619
[taskcluster 2024-11-29 20:01:24.188Z] Worker Group: us-central1-a
[taskcluster 2024-11-29 20:01:24.188Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2024-11-29 20:01:24.188Z] Worker Pool: proj-wpt/ci
[taskcluster 2024-11-29 20:01:24.188Z] Worker Version: 46.1.0
[taskcluster 2024-11-29 20:01:24.188Z] Public IP: 34.55.234.63
[taskcluster 2024-11-29 20:01:24.188Z] Hostname: proj-wpt-ci-ydy0hlc6r-yrnii92nk3hq

[taskcluster 2024-11-29 20:01:24.668Z] === 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

...(1460 lines hidden)...

top_context = {'children': [],
 'context': 'c2559190-0180-4dad-ac04-d4d6edffc206',
 'originalOpener': None,
 'parent': None,
 'url': 'https://not-web-platform.test:8443/webdriver/tests/support/inline.py?doc=%3C%21doctype+html%3E%0A%3Cmeta+charset%3DUTF-8%3E%0A%3Cdiv%3Ebar%3C%2Fdiv%3E&mime=text%2Fhtml&charset=UTF-8',
 'userContext': 'default'}
url        = 'http://not-web-platform.test:8000/webdriver/tests/support/inline.py?doc=%3C%21doctype+html%3E%0A%3Cmeta+charset%3DUTF-8%3E%0A%3Cdiv%3Ebar%3C%2Fdiv%3E&mime=text%2Fhtml&charset=UTF-8'

webdriver/tests/bidi/storage/delete_cookies/partition.py:200: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
webdriver/tests/bidi/storage/__init__.py:106: in assert_partition_key
    recursive_compare(expected, actual)
        actual     = {'sourceOrigin': 'http://not-web-platform.test'}
        bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f077e9b9bb0>
        context    = '01bbe980-9f3a-49fc-86cc-536e3eb12002'
        expected   = {'sourceOrigin': 'http://not-web-platform.test', 'userContext': 'default'}
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

expected = {'sourceOrigin': 'http://not-web-platform.test', 'userContext': 'default'}
actual = {'sourceOrigin': 'http://not-web-platform.test'}

    def recursive_compare(expected: Any, actual: Any) -> None:
        if callable(expected):
            expected(actual)
            return
    
        if isinstance(actual, List) and isinstance(expected, List):
            assert len(expected) == len(actual)
            for index, _ in enumerate(expected):
                recursive_compare(expected[index], actual[index])
            return
    
        if isinstance(actual, Dict) and isinstance(expected, Dict):
            # Actual Mapping can have more keys as part of the forwards-compat design.
>           assert (
                expected.keys() <= actual.keys()
            ), f"Key set should be present: {set(expected.keys()) - set(actual.keys())}"
E           AssertionError: Key set should be present: {'userContext'}

actual     = {'sourceOrigin': 'http://not-web-platform.test'}
expected   = {'sourceOrigin': 'http://not-web-platform.test', 'userContext': 'default'}

webdriver/tests/bidi/__init__.py:21: AssertionError
  FAIL test_partition_source_origin[https] - AssertionError: Key set should be present: {'userContext'}
bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f077e9b9bb0>
new_tab = {'context': '2f4cd444-4c5d-4e54-af6d-ccd80da9efab'}
top_context = {'children': [], 'context': 'c2559190-0180-4dad-ac04-d4d6edffc206', 'originalOpener': None, 'parent': None, ...}
test_page = 'https://web-platform.test:8443/webdriver/tests/support/inline.py?doc=%3C%21doctype+html%3E%0A%3Cmeta+charset%3DUTF-8%3E%0A%3Cdiv%3Efoo%3C%2Fdiv%3E&mime=text%2Fhtml&charset=UTF-8'
inline = <function inline.<locals>.inline at 0x7f077eb9c430>
domain_value = <function domain_value.<locals>.domain_value at 0x7f077eb9c310>
origin = <function origin.<locals>.origin at 0x7f077eb9c820>
set_cookie = <function set_cookie.<locals>.set_cookie at 0x7f077eb9ca60>
protocol = 'https'

    @pytest.mark.parametrize(
        "protocol",
        [
            "http",
            "https",
        ],
    )
    async def test_partition_source_origin(
        bidi_session,
        new_tab,
        top_context,
        test_page,
        inline,
        domain_value,
        origin,
        set_cookie,
        protocol,
    ):
        url = inline("<div>bar</div>", protocol=protocol, domain="alt")
        await bidi_session.browsing_context.navigate(
            context=top_context["context"], url=url, wait="complete"
        )
        await bidi_session.browsing_context.navigate(
            context=new_tab["context"], url=test_page, wait="complete"
        )
    
        cookie1_domain = domain_value(domain="alt")
        cookie1_name = "foo"
        cookie1_value = "bar"
        cookie1_source_origin = origin(domain="alt", protocol=protocol)
        cookie1_partition = StorageKeyPartitionDescriptor(
            source_origin=cookie1_source_origin
        )
        await set_cookie(
            cookie=create_cookie(
                domain=cookie1_domain,
                name=cookie1_name,
                value=NetworkStringValue(cookie1_value),
            ),
            partition=cookie1_partition,
        )
    
        cookie2_domain = domain_value()
        cookie2_name = "bar"
        cookie2_value = "foo"
        cookie2_source_origin = origin()
        cookie2_partition = StorageKeyPartitionDescriptor(
            source_origin=cookie2_source_origin
        )
        await set_cookie(
            cookie=create_cookie(
                domain=cookie2_domain,
                name=cookie2_name,
                value=NetworkStringValue(cookie2_value),
            ),
            partition=cookie2_partition,
        )
    
        result = await bidi_session.storage.delete_cookies(partition=cookie1_partition)
    
>       await assert_partition_key(bidi_session, actual=result["partitionKey"], expected={
            "sourceOrigin": cookie1_source_origin
        }, context=new_tab["context"])

bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f077e9b9bb0>
cookie1_domain = 'not-web-platform.test'
cookie1_name = 'foo'
cookie1_partition = {'sourceOrigin': 'https://not-web-platform.test', 'type': 'storageKey'}
cookie1_source_origin = 'https://not-web-platform.test'
cookie1_value = 'bar'
cookie2_domain = 'web-platform.test'
cookie2_name = 'bar'
cookie2_partition = {'sourceOrigin': 'https://web-platform.test', 'type': 'storageKey'}
cookie2_source_origin = 'https://web-platform.test'
cookie2_value = 'foo'
domain_value = <function domain_value.<locals>.domain_value at 0x7f077eb9c310>
inline     = <function inline.<locals>.inline at 0x7f077eb9c430>
new_tab    = {'context': '2f4cd444-4c5d-4e54-af6d-ccd80da9efab'}
origin     = <function origin.<locals>.origin at 0x7f077eb9c820>
protocol   = 'https'
result     = {'partitionKey': {'sourceOrigin': 'https://not-web-platform.test'}}
set_cookie = <function set_cookie.<locals>.set_cookie at 0x7f077eb9ca60>
test_page  = 'https://web-platform.test:8443/webdriver/tests/support/inline.py?doc=%3C%21doctype+html%3E%0A%3Cmeta+charset%3DUTF-8%3E%0A%3Cdiv%3Efoo%3C%2Fdiv%3E&mime=text%2Fhtml&charset=UTF-8'
top_context = {'children': [],
 'context': 'c2559190-0180-4dad-ac04-d4d6edffc206',
 'originalOpener': None,
 'parent': None,
 'url': 'http://not-web-platform.test:8000/webdriver/tests/support/inline.py?doc=%3C%21doctype+html%3E%0A%3Cmeta+charset%3DUTF-8%3E%0A%3Cdiv%3Ebar%3C%2Fdiv%3E&mime=text%2Fhtml&charset=UTF-8',
 'userContext': 'default'}
url        = 'https://not-web-platform.test:8443/webdriver/tests/support/inline.py?doc=%3C%21doctype+html%3E%0A%3Cmeta+charset%3DUTF-8%3E%0A%3Cdiv%3Ebar%3C%2Fdiv%3E&mime=text%2Fhtml&charset=UTF-8'

webdriver/tests/bidi/storage/delete_cookies/partition.py:200: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
webdriver/tests/bidi/storage/__init__.py:106: in assert_partition_key
    recursive_compare(expected, actual)
        actual     = {'sourceOrigin': 'https://not-web-platform.test'}
        bidi_session = <webdriver.bidi.client.BidiSession object at 0x7f077e9b9bb0>
        context    = '2f4cd444-4c5d-4e54-af6d-ccd80da9efab'
        expected   = {'sourceOrigin': 'https://not-web-platform.test', 'userContext': 'default'}
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

expected = {'sourceOrigin': 'https://not-web-platform.test', 'userContext': 'default'}
actual = {'sourceOrigin': 'https://not-web-platform.test'}

    def recursive_compare(expected: Any, actual: Any) -> None:
        if callable(expected):
            expected(actual)
            return
    
        if isinstance(actual, List) and isinstance(expected, List):
            assert len(expected) == len(actual)
            for index, _ in enumerate(expected):
                recursive_compare(expected[index], actual[index])
            return
    
        if isinstance(actual, Dict) and isinstance(expected, Dict):
            # Actual Mapping can have more keys as part of the forwards-compat design.
>           assert (
                expected.keys() <= actual.keys()
            ), f"Key set should be present: {set(expected.keys()) - set(actual.keys())}"
E           AssertionError: Key set should be present: {'userContext'}

actual     = {'sourceOrigin': 'https://not-web-platform.test'}
expected   = {'sourceOrigin': 'https://not-web-platform.test', 'userContext': 'default'}

webdriver/tests/bidi/__init__.py:21: AssertionError
 0:38.65 INFO Got 1 unexpected results, with 0 unexpected passes
 0:38.66 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
 0:38.70 wptserve INFO Stopped http server on 127.0.0.1:8000
 0:38.71 wptserve INFO Stopped http server on 127.0.0.1:8443
 0:38.84 wptserve INFO Stopped http server on 127.0.0.1:9000
 0:38.84 wptserve INFO Stopped http server on 127.0.0.1:8446
 0:38.84 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
 0:38.84 wptserve INFO Stopped http server on 127.0.0.1:8002
 0:38.84 wptserve INFO Stopped http server on 127.0.0.1:8003
 0:38.85 wptserve INFO Stopped http server on 127.0.0.1:8444
 0:38.86 wptserve INFO Stopped http server on 127.0.0.1:8445
 0:38.86 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
 0:38.86 wptserve INFO Stopped http server on 127.0.0.1:8001
 0:38.94 INFO Removed font: Ahem.ttf
 0:38.96 INFO Closing logging queue
 0:38.96 INFO queue closed
 0:38.96 INFO Tolerating 1 unexpected results
[taskcluster 2024-11-29 20:04:23.895Z] === Task Finished ===
[taskcluster 2024-11-29 20:04:24.590Z] Successful task run with exit code: 0 completed in 180.403 seconds