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

Handle non-UTF8 diffs in the WPT upstream script #29622

Merged
merged 1 commit into from Apr 12, 2023

Conversation

mrobinson
Copy link
Member

The output of git diff and git show can include non-UTF8 text or binary data, so the WPT upstream script should handle this properly.

Fixes #29620.


@mrobinson mrobinson requested a review from delan April 12, 2023 09:27
@mrobinson mrobinson marked this pull request as draft April 12, 2023 09:40
@mrobinson mrobinson marked this pull request as ready for review April 12, 2023 09:46
Copy link
Member

@jdm jdm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice.

The output of `git diff` and `git show` can include non-UTF8 text or
binary data, so the WPT upstream script should handle this properly.

Fixes servo#29620.
@mrobinson
Copy link
Member Author

@bors-servo r=jdm

Thanks!

@bors-servo
Copy link
Contributor

📌 Commit 72dbf0e has been approved by jdm

@bors-servo
Copy link
Contributor

⌛ Testing commit 72dbf0e with merge bdc3bc5...

@github-actions
Copy link

Results from try job (#4678686644):

Flaky unexpected result (26)
  • OK /_mozilla/css/stylesheet_media_queries.html (#17159)
    • FAIL [expected PASS] subtest: Media queries within stylesheets
  • OK /_mozilla/mozilla/scrollBy.html (#21321)
    • FAIL [expected PASS] subtest: Ensure that the window.scrollBy function affects scroll position as expected
  • TIMEOUT [expected OK] /_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html (#28103)
  • TIMEOUT [expected OK] /_webgl/conformance/uniforms/out-of-bounds-uniform-array-access.html (#26225)
    • NOTRUN [expected PASS] subtest: Overall test
  • OK /css/CSS2/floats/hit-test-floats-004.html (#25804)
    • FAIL [expected PASS] subtest: Miss float below something else
  • OK /css/CSS2/normal-flow/block-in-inline-hittest-001.html (#29064)
    • FAIL [expected PASS] subtest: block-in-inline-hittest-001
  • OK /css/CSS2/normal-flow/block-in-inline-hittest-float-001.html (#29565)
    • FAIL [expected PASS] subtest: block-in-inline-hittest-float-001
  • OK /css/css-flexbox/hittest-before-pseudo.html (#26521)
    • PASS [expected FAIL] subtest: Hit-testing text within a pseudo-element flex-item should return the flexbox as the hittest result.
  • OK /css/css-flexbox/text-as-flexitem-size-001.html (#28726)
    • FAIL [expected PASS] subtest: .flexbox > div 1
    • FAIL [expected PASS] subtest: .flexbox > div 2
    • FAIL [expected PASS] subtest: .flexbox > div 5
    • FAIL [expected PASS] subtest: .flexbox > div 8
    • FAIL [expected PASS] subtest: .flexbox > div 11
  • OK /css/css-transforms/inline-with-filter-and-hidden-backface.html (#29547)
    • PASS [expected FAIL] subtest: Hit test
  • OK /css/css-transforms/transform-scale-hittest.html (#24667)
    • FAIL [expected PASS] subtest: Hit test within unscaled box
  • OK /css/cssom-view/elementsFromPoint-invalid-cases.html (#21338)
    • PASS [expected FAIL] subtest: The root element is the last element returned for otherwise empty queries within the viewport
  • TIMEOUT [expected OK] /fetch/api/basic/keepalive.any.html (#29536)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • FAIL [expected PASS] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank'
  • TIMEOUT /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-no-beforeunload.window.html (#29055)
    • TIMEOUT [expected PASS] subtest: Navigating an opened window via location.href to a javascript: URL must not fire beforeunload: undefined completion
    • NOTRUN [expected FAIL] subtest: Navigating an opened window with an iframe via location.href to a javascript: URL must not fire beforeunload on the iframe: undefined completion
    • NOTRUN [expected PASS] subtest: Navigating an iframe via location.href to a javascript: URL must not fire beforeunload: string completion
    • NOTRUN [expected PASS] subtest: Navigating an iframe via src="" to a javascript: URL after insertion must not fire beforeunload: string completion
    • NOTRUN [expected TIMEOUT] subtest: Navigating an opened window via location.href to a javascript: URL must not fire beforeunload: string completion
  • TIMEOUT [expected OK] /html/browsers/browsing-the-web/navigating-across-documents/navigate-to-unparseable-url.html (#29050)
    • TIMEOUT [expected FAIL] subtest: location.href setter throws a SyntaxError DOMException for unparseable URLs
    • NOTRUN [expected FAIL] subtest: <a> tag navigate fails for unparseable URLs
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html (#29049)
    • FAIL [expected PASS] subtest: Same-origin navigation started from unload handler must be ignored
  • OK /html/canvas/element/manual/image-smoothing/imagesmoothing.html (#28417)
    • FAIL [expected PASS] subtest: Test that imageSmoothingEnabled = false (nearest-neighbor interpolation) works with stroke() and createPattern().
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
    • FAIL [expected NOTRUN] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: 0x00 in name (normal form)
    • PASS [expected FAIL] subtest: text/plain: \n in value (normal form)
  • OK /html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html (#23205)
    • PASS [expected FAIL] subtest: Check that rel=noopener with target=_self does a normal load
  • OK [expected ERROR] /html/semantics/scripting-1/the-script-element/defer-script/async-script.html?reload (#29054)
  • ERROR /resource-timing/content-type-parsing.html (#29131)
    • TIMEOUT [expected FAIL] subtest: mime-type 16 : text/html;charset=�gbk
    • NOTRUN [expected TIMEOUT] subtest: mime-type 17 : text/html;charset= gbk
  • OK [expected TIMEOUT] /webaudio/the-audio-api/the-audiocontext-interface/audiocontext-not-fully-active.html (#27664)
  • OK [expected TIMEOUT] /webmessaging/with-ports/017.html (#24486)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, about:blank
  • OK [expected TIMEOUT] /webmessaging/without-ports/018.html (#24485)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, javascript:
Stable unexpected results that are known to be intermittent (24)
  • ERROR /_webgl/conformance/textures/misc/origin-clean-conformance-offscreencanvas.html (#24038)
    • PASS [expected FAIL] subtest: WebGL test #0: img was loaded
  • ERROR /_webgl/conformance2/textures/misc/origin-clean-conformance-offscreencanvas.html (#29589)
    • PASS [expected FAIL] subtest: WebGL test #0: img was loaded
  • OK /css/CSS2/floats/hit-test-floats-002.html (#25733)
    • PASS [expected FAIL] subtest: Hit test float
  • OK /css/CSS2/normal-flow/block-in-inline-hittest-002.html (#29057)
    • PASS [expected FAIL] subtest: elementFromPoint
  • OK /css/CSS2/normal-flow/block-in-inline-hittest-relpos-zindex.html (#29052)
    • PASS [expected FAIL] subtest: block-in-inline-hittest-relpos-zindex
  • OK /css/CSS2/normal-flow/hit-test-anonymous-block.html (#25807)
    • PASS [expected FAIL] subtest: Hit test beside line of text inside anonymous block
  • OK /css/css-flexbox/hittest-anonymous-box.html (#27091)
    • PASS [expected FAIL] subtest: Hit-testing within an anonymous flex-item should return the flexbox as the hittest result.
  • OK /css/css-fonts/variations/font-weight-matching.html (#20686)
    • FAIL [expected PASS] subtest: Test @font-face matching for weight 400
    • FAIL [expected PASS] subtest: Test @font-face matching for weight 420
  • OK /css/cssom-view/elementFromPoint-float-in-table.html (#27002)
    • PASS [expected FAIL] subtest: float-in-div
  • OK /css/cssom-view/elementFromPosition.html (#21295)
    • FAIL [expected PASS] subtest: test the top of layer
  • OK /css/cssom-view/scroll-behavior-smooth-navigation.html (#29564)
    • FAIL [expected PASS] subtest: Instant scrolling while doing history navigation.
    • FAIL [expected PASS] subtest: Smooth scrolling while doing history navigation.
  • TIMEOUT [expected OK] /fetch/local-network-access/iframe.tentative.https.window.html (#29605)
    • TIMEOUT [expected FAIL] subtest: public to local, grandparent navigates: failure.
    • TIMEOUT [expected FAIL] subtest: public to local, grandparent navigates: success.
  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • PASS [expected FAIL] subtest: Check execution order on load handler
    • PASS [expected FAIL] subtest: Check execution order from nested timeout
  • OK [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/failure-check-sequence.https.html (#28207)
    • FAIL [expected TIMEOUT] subtest: CSP check precedes X-Frame-Options check
    • FAIL [expected NOTRUN] subtest: CSP check precedes COEP check - CSP header first
    • FAIL [expected NOTRUN] subtest: CSP check precedes COEP check - COEP header first
    • FAIL [expected NOTRUN] subtest: COEP check precedes X-Frame-Options check
  • OK /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-return-value-handling-dynamic.html (#28066)
    • PASS [expected FAIL] subtest: D83D DE0D set in href="" targeting a frame and clicked
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • FAIL [expected PASS] subtest: aElement.click() before the load event must NOT replace
  • TIMEOUT [expected OK] /html/browsers/history/the-history-interface/traverse-during-unload.html (#28688)
    • TIMEOUT [expected PASS] subtest: Traversing the history during unload
  • OK /html/browsers/history/the-history-interface/traverse_the_history_5.html (#21383)
    • FAIL [expected PASS] subtest: Multiple history traversals, last would be aborted
  • CRASH [expected OK] /html/browsers/windows/embedded-opener-remove-frame.html (#23867)
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected FAIL] subtest: Element with tabindex should support autofocus
    • NOTRUN [expected PASS] subtest: Non-HTMLElement should not support autofocus
    • NOTRUN [expected FAIL] subtest: Host element with delegatesFocus should support autofocus
    • NOTRUN [expected FAIL] subtest: Host element with delegatesFocus including no focusable descendants should be skipped
    • NOTRUN [expected FAIL] subtest: Area element should support autofocus
  • OK [expected CRASH] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
  • TIMEOUT /html/webappapis/scripting/events/compile-event-handler-settings-objects.html (#24246)
    • FAIL [expected PASS] subtest: The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document
  • TIMEOUT [expected CRASH] /webmessaging/broadcastchannel/cross-partition.https.tentative.html (#29058)
  • ERROR [expected OK] /workers/constructors/Worker/Worker-constructor.html (#22991)

@bors-servo
Copy link
Contributor

☀️ Test successful - checks-github
Approved by: jdm
Pushing bdc3bc5 to master...

@bors-servo bors-servo merged commit bdc3bc5 into servo:master Apr 12, 2023
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CI: wpt upstreamer fails when git process output contains invalid UTF-8
3 participants