Add tests for common TextDecoder implementation mistakes #56892
Community-TC (pull_request)
Verify that all tests affected by a pull request are stable when executed in chrome.
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2025-12-21T07:09:42.531Z
Resolved: 2025-12-21T07:13:03.704Z
Task Execution Time: 3 minutes, 21 seconds, 173 milliseconds
Task Status: completed
Reason Resolved: completed
RunId: 0
Artifacts
- public/logs/live_backing.log
- public/logs/live.log
- public/results/checkrun.md
WPT Command: python3 ./wpt run --channel=dev --verify --verify-no-chaos-mode --verify-repeat-loop=0 --verify-repeat-restart=10 --github-checks-text-file=/home/test/artifacts/checkrun.md --affected base_head --log-mach-level=info --log-mach=- -y --no-pause --no-restart-on-unexpected --install-fonts --verify-log-full --no-headless --enable-swiftshader --install-browser --install-webdriver chrome
[taskcluster 2025-12-21 07:09:42.722Z] Task ID: FXcjtXoTSKS1QIRTpbGg7Q
[taskcluster 2025-12-21 07:09:42.722Z] Worker ID: 6150589004286403558
[taskcluster 2025-12-21 07:09:42.723Z] Worker Group: us-east1-c
[taskcluster 2025-12-21 07:09:42.723Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2025-12-21 07:09:42.723Z] Worker Pool: proj-wpt/ci
[taskcluster 2025-12-21 07:09:42.723Z] Worker Version: 46.1.0
[taskcluster 2025-12-21 07:09:42.723Z] Public IP: 34.75.237.67
[taskcluster 2025-12-21 07:09:42.723Z] Hostname: proj-wpt-ci-jswqrt2qsaauzir15xj8iq
ac811f28856d - Started downloading
ac811f28856d - Downloaded in 0.035 seconds
8f84a9f2102e - Started downloading
40516d781e70 - Started downloading
44ebbf800033 - Started downloading
44ebbf800033 - Downloaded in 0.051 seconds
8f84a9f2102e - Downloaded in 0.233 seconds
a8884b21e40e - Started downloading
4f4fb700ef54 - Started downloading
4f4fb700ef54 - Downloaded in 0 seconds
79c347416ee8 - Started downloading
...(11864 lines hidden)...
0:46.39 wptserve INFO Stopped WebTransport over HTTP/3 server on 127.0.0.1:11000
0:46.59 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8888))
0:46.59 wptserve INFO Close on: (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 8889))
0:46.84 INFO Removed font: Ahem.ttf
0:46.88 INFO Closing logging queue
0:46.88 INFO queue closed
0:46.90 INFO ::: Ran 10 of expected 10 iterations.
0:46.90 INFO ## All results ##
0:46.90 INFO ### /encoding/textdecoder-mistakes.any.html ###
0:46.90 INFO | Subtest | Results | Messages |
0:46.90 INFO |-------------------------------------------------------------------|---------|----------------------------------------------------------------|
0:46.90 INFO | | OK | |
0:46.90 INFO | `Invalid Unicode input is replaced: utf-8` | PASS | |
0:46.90 INFO | `Invalid Unicode input is replaced: utf-16le` | PASS | |
0:46.90 INFO | `Invalid Unicode input is replaced: utf-16be` | PASS | |
0:46.90 INFO | `Single-byte encodings are ASCII supersets: windows-1252` | PASS | |
0:46.90 INFO | `Single-byte encodings are ASCII supersets: ibm866` | PASS | |
0:46.90 INFO | `Most legacy multi-byte encodings are ASCII supersets: gbk` | PASS | |
0:46.90 INFO | `Most legacy multi-byte encodings are ASCII supersets: gb18030` | PASS | |
0:46.90 INFO | `Most legacy multi-byte encodings are ASCII supersets: big5` | PASS | |
0:46.90 INFO | `Most legacy multi-byte encodings are ASCII supersets: euc-jp` | PASS | |
0:46.90 INFO | `Most legacy multi-byte encodings are ASCII supersets: shift_jis` | PASS | |
0:46.90 INFO | `Most legacy multi-byte encodings are ASCII supersets: euc-kr` | PASS | |
0:46.90 INFO | `Fast path misdetection: windows-874` | PASS | |
0:46.90 INFO | `Fast path misdetection: windows-1250` | PASS | |
0:46.90 INFO | `Fast path misdetection: windows-1252` | FAIL | `assert_equals: expected "€" but got "�"` |
0:46.90 INFO | `Fast path misdetection: windows-1253` | PASS | |
0:46.90 INFO | `Fast path misdetection: windows-1254` | PASS | |
0:46.90 INFO | `Fast path misdetection: windows-1255` | PASS | |
0:46.90 INFO | `Fast path misdetection: windows-1257` | PASS | |
0:46.90 INFO | `Fast path misdetection: windows-1258` | PASS | |
0:46.90 INFO | `Fast path misdetection: latin1` | FAIL | `assert_equals: expected "€" but got "�"` |
0:46.90 INFO | `Fast path misdetection: ascii` | FAIL | `assert_equals: expected "€" but got "�"` |
0:46.90 INFO | `utf-16le does not produce more chars than truncated` | PASS | |
0:46.90 INFO | `utf-16be does not produce more chars than truncated` | PASS | |
0:46.90 INFO | `windows-1252 maps bytes outside of latin1: windows-1252` | PASS | |
0:46.90 INFO | `windows-1252 maps bytes outside of latin1: latin1` | PASS | |
0:46.90 INFO | `windows-1252 maps bytes outside of latin1: ascii` | PASS | |
0:46.90 INFO | `windows-1252 does not contain unmapped chars: windows-1252` | PASS | |
0:46.90 INFO | `windows-1252 does not contain unmapped chars: latin1` | PASS | |
0:46.90 INFO | `windows-1252 does not contain unmapped chars: ascii` | PASS | |
0:46.90 INFO | `specific: x-user-defined` | PASS | |
0:46.90 INFO | `specific: big5` | PASS | |
0:46.90 INFO | `iso-8859-8-i decodes bytes the same way as iso-8859-8` | PASS | |
0:46.90 INFO | `selected single-byte: koi8-u` | PASS | |
0:46.90 INFO | `selected single-byte: windows-874` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1252` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1253` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1255` | PASS | |
0:46.90 INFO | `selected single-byte: macintosh` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1250` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1251` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1254` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1257` | PASS | |
0:46.90 INFO | `selected single-byte: windows-1258` | PASS | |
0:46.90 INFO | `selected single-byte: iso-8859-8-i` | PASS | |
0:46.90 INFO | `selected single-byte: iso-8859-16` | PASS | |
0:46.90 INFO | `selected single-byte: x-mac-cyrillic` | PASS | |
0:46.90 INFO | `Concatenating two ISO-2022-JP outputs is not always valid` | FAIL | `assert_equals: expected "¥\ufffd¥" but got "\ufffd¥\ufffd¥"` |
0:46.90 INFO | `gb18030 version and ranges` | PASS | |
0:46.90 INFO | `gbk version and ranges` | PASS | |
0:46.90 INFO | `gbk decoder is gb18030 decoder` | PASS | |
0:46.90 INFO | `Replacement, push back ASCII characters: big5` | FAIL | `assert_equals: expected "\ufffd@" but got "\ufffd䏰"` |
0:46.90 INFO | `Replacement, push back ASCII characters: iso-2022-jp` | FAIL | `assert_equals: expected "\ufffd\ufffd" but got "\ufffd$"` |
0:46.90 INFO | `Replacement, push back ASCII characters: gb18030` | PASS | |
0:46.90 INFO | `Replacement, push back ASCII characters: euc-jp` | PASS | |
0:46.90 INFO | `Replacement, push back ASCII characters: euc-kr` | PASS | |
0:46.90 INFO | `Replacement, push back ASCII characters: shift_jis` | PASS | |
0:46.90 INFO | `Replacement, push back ASCII characters: gbk` | PASS | |
0:46.90 INFO | `Sticky multibyte state: iso-2022-jp` | FAIL | `assert_equals: expected "@" but got "\ufffd@"` |
0:46.90 INFO | `Sticky multibyte state: gb18030` | PASS | |
0:46.90 INFO | `Sticky multibyte state: big5` | PASS | |
0:46.90 INFO | `Sticky multibyte state: shift_jis` | PASS | |
0:46.90 INFO | `Sticky multibyte state: euc-kr` | PASS | |
0:46.90 INFO | `Sticky multibyte state: gbk` | PASS | |
0:46.90 INFO | `Sticky multibyte state: euc-jp` | FAIL | `assert_equals: expected " " but got "\ufffd"` |
0:46.90 INFO | `Sticky fatal BOM: utf-8` | PASS | |
0:46.90 INFO | `Sticky fatal BOM: utf-16le` | PASS | |
0:46.90 INFO | `Sticky fatal BOM: utf-16be` | PASS | |
0:46.90 INFO | `BOM splitting / repeats: utf-8` | PASS | |
0:46.90 INFO | `BOM splitting / repeats: utf-16le` | PASS | |
0:46.90 INFO | `BOM splitting / repeats: utf-16be` | PASS | |
0:46.90 INFO | `stream: utf-8` | FAIL | `assert_equals: expected "\ufffdÀ**" but got "\ufffdÀ\ufffd*"` |
0:46.90 INFO | `stream: gbk` | PASS | |
0:46.90 INFO | `stream: gb18030` | PASS | |
0:46.90 INFO | `stream: big5` | PASS | |
0:46.90 INFO | `stream: shift_jis` | PASS | |
0:46.90 INFO | `stream: euc-kr` | PASS | |
0:46.90 INFO | `stream: euc-jp` | PASS | |
0:46.90 INFO | `stream: iso-2022-jp` | PASS | |
0:46.90 INFO | `fatal stream: utf-8` | PASS | |
0:46.90 INFO | `fatal stream: utf-16le` | PASS | |
0:46.90 INFO | `fatal stream: utf-16be` | PASS | |
0:46.90 INFO | `fatal stream: iso-2022-jp` | PASS | |
0:46.90 INFO | `WPT mislabels: euc-jp` | PASS | |
0:46.90 INFO | `WPT mislabels: shift_jis` | PASS | |
0:46.90 INFO | `WPT mislabels: iso-2022-jp` | PASS | |
0:46.90 INFO | `labels: invalid non-ascii` | PASS | |
0:46.91 INFO | `labels: transformed` | PASS | |
0:46.91 INFO
0:46.91 INFO ### /encoding/textdecoder-mistakes.any.worker.html ###
0:46.91 INFO | Subtest | Results | Messages |
0:46.91 INFO |-------------------------------------------------------------------|---------|----------------------------------------------------------------|
0:46.91 INFO | | OK | |
0:46.91 INFO | `Invalid Unicode input is replaced: utf-8` | PASS | |
0:46.91 INFO | `Invalid Unicode input is replaced: utf-16le` | PASS | |
0:46.91 INFO | `Invalid Unicode input is replaced: utf-16be` | PASS | |
0:46.91 INFO | `Single-byte encodings are ASCII supersets: windows-1252` | PASS | |
0:46.91 INFO | `Single-byte encodings are ASCII supersets: ibm866` | PASS | |
0:46.91 INFO | `Most legacy multi-byte encodings are ASCII supersets: gbk` | PASS | |
0:46.91 INFO | `Most legacy multi-byte encodings are ASCII supersets: gb18030` | PASS | |
0:46.91 INFO | `Most legacy multi-byte encodings are ASCII supersets: big5` | PASS | |
0:46.91 INFO | `Most legacy multi-byte encodings are ASCII supersets: euc-jp` | PASS | |
0:46.91 INFO | `Most legacy multi-byte encodings are ASCII supersets: shift_jis` | PASS | |
0:46.91 INFO | `Most legacy multi-byte encodings are ASCII supersets: euc-kr` | PASS | |
0:46.91 INFO | `Fast path misdetection: windows-874` | PASS | |
0:46.91 INFO | `Fast path misdetection: windows-1250` | PASS | |
0:46.91 INFO | `Fast path misdetection: windows-1252` | FAIL | `assert_equals: expected "€" but got "�"` |
0:46.91 INFO | `Fast path misdetection: windows-1253` | PASS | |
0:46.91 INFO | `Fast path misdetection: windows-1254` | PASS | |
0:46.91 INFO | `Fast path misdetection: windows-1255` | PASS | |
0:46.91 INFO | `Fast path misdetection: windows-1257` | PASS | |
0:46.91 INFO | `Fast path misdetection: windows-1258` | PASS | |
0:46.91 INFO | `Fast path misdetection: latin1` | FAIL | `assert_equals: expected "€" but got "�"` |
0:46.91 INFO | `Fast path misdetection: ascii` | FAIL | `assert_equals: expected "€" but got "�"` |
0:46.91 INFO | `utf-16le does not produce more chars than truncated` | PASS | |
0:46.91 INFO | `utf-16be does not produce more chars than truncated` | PASS | |
0:46.91 INFO | `windows-1252 maps bytes outside of latin1: windows-1252` | PASS | |
0:46.91 INFO | `windows-1252 maps bytes outside of latin1: latin1` | PASS | |
0:46.91 INFO | `windows-1252 maps bytes outside of latin1: ascii` | PASS | |
0:46.91 INFO | `windows-1252 does not contain unmapped chars: windows-1252` | PASS | |
0:46.91 INFO | `windows-1252 does not contain unmapped chars: latin1` | PASS | |
0:46.91 INFO | `windows-1252 does not contain unmapped chars: ascii` | PASS | |
0:46.91 INFO | `specific: x-user-defined` | PASS | |
0:46.91 INFO | `specific: big5` | PASS | |
0:46.91 INFO | `iso-8859-8-i decodes bytes the same way as iso-8859-8` | PASS | |
0:46.91 INFO | `selected single-byte: koi8-u` | PASS | |
0:46.91 INFO | `selected single-byte: windows-874` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1252` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1253` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1255` | PASS | |
0:46.91 INFO | `selected single-byte: macintosh` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1250` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1251` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1254` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1257` | PASS | |
0:46.91 INFO | `selected single-byte: windows-1258` | PASS | |
0:46.91 INFO | `selected single-byte: iso-8859-8-i` | PASS | |
0:46.91 INFO | `selected single-byte: iso-8859-16` | PASS | |
0:46.91 INFO | `selected single-byte: x-mac-cyrillic` | PASS | |
0:46.91 INFO | `Concatenating two ISO-2022-JP outputs is not always valid` | FAIL | `assert_equals: expected "¥\ufffd¥" but got "\ufffd¥\ufffd¥"` |
0:46.91 INFO | `gb18030 version and ranges` | PASS | |
0:46.91 INFO | `gbk version and ranges` | PASS | |
0:46.91 INFO | `gbk decoder is gb18030 decoder` | PASS | |
0:46.91 INFO | `Replacement, push back ASCII characters: big5` | FAIL | `assert_equals: expected "\ufffd@" but got "\ufffd䏰"` |
0:46.91 INFO | `Replacement, push back ASCII characters: iso-2022-jp` | FAIL | `assert_equals: expected "\ufffd\ufffd" but got "\ufffd$"` |
0:46.91 INFO | `Replacement, push back ASCII characters: gb18030` | PASS | |
0:46.91 INFO | `Replacement, push back ASCII characters: euc-jp` | PASS | |
0:46.91 INFO | `Replacement, push back ASCII characters: euc-kr` | PASS | |
0:46.91 INFO | `Replacement, push back ASCII characters: shift_jis` | PASS | |
0:46.91 INFO | `Replacement, push back ASCII characters: gbk` | PASS | |
0:46.91 INFO | `Sticky multibyte state: iso-2022-jp` | FAIL | `assert_equals: expected "@" but got "\ufffd@"` |
0:46.91 INFO | `Sticky multibyte state: gb18030` | PASS | |
0:46.91 INFO | `Sticky multibyte state: big5` | PASS | |
0:46.91 INFO | `Sticky multibyte state: shift_jis` | PASS | |
0:46.91 INFO | `Sticky multibyte state: euc-kr` | PASS | |
0:46.91 INFO | `Sticky multibyte state: gbk` | PASS | |
0:46.91 INFO | `Sticky multibyte state: euc-jp` | FAIL | `assert_equals: expected " " but got "\ufffd"` |
0:46.91 INFO | `Sticky fatal BOM: utf-8` | PASS | |
0:46.91 INFO | `Sticky fatal BOM: utf-16le` | PASS | |
0:46.91 INFO | `Sticky fatal BOM: utf-16be` | PASS | |
0:46.91 INFO | `BOM splitting / repeats: utf-8` | PASS | |
0:46.91 INFO | `BOM splitting / repeats: utf-16le` | PASS | |
0:46.91 INFO | `BOM splitting / repeats: utf-16be` | PASS | |
0:46.91 INFO | `stream: utf-8` | FAIL | `assert_equals: expected "\ufffdÀ**" but got "\ufffdÀ\ufffd*"` |
0:46.91 INFO | `stream: gbk` | PASS | |
0:46.91 INFO | `stream: gb18030` | PASS | |
0:46.91 INFO | `stream: big5` | PASS | |
0:46.91 INFO | `stream: shift_jis` | PASS | |
0:46.91 INFO | `stream: euc-kr` | PASS | |
0:46.91 INFO | `stream: euc-jp` | PASS | |
0:46.91 INFO | `stream: iso-2022-jp` | PASS | |
0:46.91 INFO | `fatal stream: utf-8` | PASS | |
0:46.91 INFO | `fatal stream: utf-16le` | PASS | |
0:46.91 INFO | `fatal stream: utf-16be` | PASS | |
0:46.91 INFO | `fatal stream: iso-2022-jp` | PASS | |
0:46.91 INFO | `WPT mislabels: euc-jp` | PASS | |
0:46.91 INFO | `WPT mislabels: shift_jis` | PASS | |
0:46.91 INFO | `WPT mislabels: iso-2022-jp` | PASS | |
0:46.91 INFO | `labels: invalid non-ascii` | PASS | |
0:46.91 INFO | `labels: transformed` | PASS | |
0:46.91 INFO
0:46.91 INFO ::: Running tests in a loop with restarts 10 times : PASS
0:46.91 INFO :::
0:46.91 INFO ::: Test verification PASS
0:46.91 INFO :::
[taskcluster 2025-12-21 07:13:02.486Z] === Task Finished ===
[taskcluster 2025-12-21 07:13:02.877Z] Successful task run with exit code: 0 completed in 200.158 seconds