Page MenuHomePhabricator

wt2html test failures in hybrid testing
Closed, ResolvedPublic

Description

When I ran bin/parserTests.js --wt2html --phpConfigFile phpconfig.yaml with this phpconfig.yaml file:

wt2html:
   PegTokenizer: true
   SyncTokenTransformManager1: true
   SyncTokenTransformManager3: true
   HTML5TreeBuilder: true
   DOM:
     # Processors that provide their own DOM Traversal
     ProcessTreeBuilderFixups: true
     MarkFosteredContent: true
     MigrateTrailingNLs: true
     PWrap: true
     HandlePres: true
     ComputeDSR: true
     WrapTemplates: true
     WrapSections: true
     AddExtLinkClasses: true

I get the following test failures. These need to be investigated and fixed where the problem is unrelated to mocking or testing infrastructure. Note that the above config file runs all stage 1 and stage 3 token transformers entirely in PHP since the token transform managers associated with those stages are enabled in PHP.

UNEXPECTED FAIL: 2f. Indent-pre started by table-line syntax (wt2html)
UNEXPECTED FAIL: Table cell attributes: Pipes protected by nowikis should be treated as a plain character (wt2html)
UNEXPECTED FAIL: T107652: <ref>s in templates that also generate table cell attributes should be rendered properly (wt2html)
UNEXPECTED FAIL: <pre> inside a link (wt2html)
UNEXPECTED FAIL: 1. Table tag in SOL posn. should get reparsed correctly with valid TSR (wt2html)
UNEXPECTED FAIL: Table wikitext syntax outside wiki-tables (wt2html)
UNEXPECTED FAIL: Extension tag in attribute value (wt2html)
UNEXPECTED FAIL: T5244: HTML attribute safety (extension; safe) (wt2html)
UNEXPECTED FAIL: T5244: HTML attribute safety (extension; unsafe) (wt2html)
UNEXPECTED FAIL: Table attribute legitimate extension (wt2html)
UNEXPECTED FAIL: Table attribute safety (wt2html)
UNEXPECTED FAIL: {{!}} is a magic word (wt2html)
UNEXPECTED FAIL: 8. Encapsulate foster-parented transclusion content (wt2html)
--> 13 UNEXPECTED RESULTS. <--

Event Timeline

ssastry moved this task from Backlog to Bugs, Notices, Crashers on the Parsoid-PHP board.

Change 509592 had a related patch set uploaded (by Subramanya Sastry; owner: Subramanya Sastry):
[mediawiki/services/parsoid@master] Hybrid testing: Pass env.fragmentMap for pipeline stages

https://gerrit.wikimedia.org/r/509592

Change 509592 had a related patch set uploaded (by Subramanya Sastry; owner: Subramanya Sastry):
[mediawiki/services/parsoid@master] Hybrid testing: Pass env.fragmentMap for pipeline stages

https://gerrit.wikimedia.org/r/509592

New failures after this fix:

2f. Indent-pre started by table-line syntax
T107652: <ref>s in templates that also generate table cell attributes should be rendered properly
<pre> inside a link
1. Table tag in SOL posn. should get reparsed correctly with valid TSR
Table wikitext syntax outside wiki-tables
{{!}} is a magic word
8. Encapsulate foster-parented transclusion content

Change 509614 had a related patch set uploaded (by Subramanya Sastry; owner: Subramanya Sastry):
[mediawiki/services/parsoid@master] Hybrid Testing: Ensure resetState is called when necessary

https://gerrit.wikimedia.org/r/509614

ssastry lowered the priority of this task from High to Medium.May 12 2019, 3:51 AM

With these fixes, we are down to 3 failures (which fail for known reasons)

T107652: <ref>s in templates that also generate table cell attributes should be rendered properly <-- TOKENIZER related which cscott is working on
<pre> inside a link                                                                               <-- KNOWN failure because of bad Parsoid DOM which doesn't roundtrip across serialization and parse
{{!}} is a magic word                                                                             <-- KNOWN failure possibly because of some unported code

So, I think we are good for now here.

Change 509592 merged by jenkins-bot:
[mediawiki/services/parsoid@master] Hybrid testing: Pass env.fragmentMap for pipeline stages

https://gerrit.wikimedia.org/r/509592

With these fixes, we are down to 3 failures (which fail for known reasons)

T107652: <ref>s in templates that also generate table cell attributes should be rendered properly <-- TOKENIZER related which cscott is working on
<pre> inside a link                                                                               <-- KNOWN failure because of bad Parsoid DOM which doesn't roundtrip across serialization and parse
{{!}} is a magic word                                                                             <-- KNOWN failure possibly because of some unported code

So, I think we are good for now here.

I lied it seems. I broke more things by the refactoring in later patches while fixing those other failing tests. While testing, I ran just those failing tests instead of a full test run. Anyway, will take a look today.

Change 509614 merged by jenkins-bot:
[mediawiki/services/parsoid@master] Hybrid Testing: Ensure resetState is called when necessary

https://gerrit.wikimedia.org/r/509614

With these fixes, we are down to 3 failures (which fail for known reasons)

T107652: <ref>s in templates that also generate table cell attributes should be rendered properly <-- TOKENIZER related which cscott is working on
<pre> inside a link                                                                               <-- KNOWN failure because of bad Parsoid DOM which doesn't roundtrip across serialization and parse
{{!}} is a magic word                                                                             <-- KNOWN failure possibly because of some unported code

So, I think we are good for now here.

I lied it seems. I broke more things by the refactoring in later patches while fixing those other failing tests. While testing, I ran just those failing tests instead of a full test run. Anyway, will take a look today.

Looks like the failures were all real porting failures (some exposed by the testing, and others new bugs from patches merged since then). Now with the patches in gerrit, we are down to 4 failures. Besides the 3 there, there is also Includes and comments at SOL that needs investigation.

Besides the 3 there, there is also Includes and comments at SOL that needs investigation.

https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/510609 fixes this failure. So, we are now back in known territory.

The known failures are being worked on independently. This was more a test of how the ported code behaves when multiple components are enabled and tested at once. We did that testing and fixed bugs that were uncovered.