Commit graph

5 commits

Author SHA1 Message Date
Kunal Mehta
bd91229204 Use RemexHtml as the tidy implementation for parser tests
* RemexHtml is the future of "tidy" in MediaWiki,
  so run our parser tests using it.

* This is a necessary step before we can make it
  the default in MediaWiki (T185753).

* Cleaned up a bunch of tests:
  (a) where html/php+tidy and html/parsoid match up,
      retained a html+tidy section and removed the others.
  (b) where html/php and html/php+tidy match up,
      retained the html/php section and removed the
      html/php+tidy section.

* Annotating tests with explanations where Parsoid & Remex
  output differ. This is usually because of two reasons:
  (a) Parsoid has Tidy-emulation code in some cases (which
      we can consider stripping away separately).
  (b) Parsoid does a bunch of cleanup on the DOM (which was
      probably done to emulate Tidy output, but which could
      probably be retained). Since Parsoid (in some form)
      will be default parser in the future, no reason to try
      to port this cleanup (in broken markup scenarios) into
      Remex.

* Left a bunch of FIXMEs for later followup.

Unrelated cleanup:
* Renamed a few tests since the functionality in Parsoid
  was fixed up. There is no more "implicit <td>" support.
  Those all now lead to fostered content.
* Fixed some clearly broken output in html/parsoid sections
  for some tests.

Co-Authored-by: Kunal Mehta <legoktm@member.fsf.org>
Co-Authored-by: Subramanya Sastry <ssastry@wikimedia.org>
Bug: T188167
Depends-On: I646dbabb3c2ed28c1ea72c5bd8f7f92d03f57c75
Change-Id: Ic7c34d57a300dbd36a37f03fbfe33391b2950b44
2018-03-02 14:30:27 -08:00
Kunal Mehta
0e1fc6575e Refactor some Installer code into ExecutableFinder
Refactor Installer::locateExecutableInDefaultPaths() into a separate
utility class, ExecutableFinder. This class is already used in plenty of
places outside of the installer, so it's ripe for being extracted.

This class is located in utils/ due to the dependency upon
Shell::command(). Once that no longer has a dependence upon MediaWiki,
this class can be moved to libs/ too.

Change-Id: I175465acc0d64f990445ce05fabcee8b88a0b259
2017-10-26 11:42:05 -07:00
Umherirrender
f739a8f368 Improve some parameter docs
Add missing @return and @param to function docs and fixed some @param

Change-Id: I810727961057cfdcc274428b239af5975c57468d
2017-09-10 20:32:31 +02:00
Arlo Breault
e9ee631c88 Don't test for tidy class on hhvm
* It doesn't support the oo interface.

 * Should make the tidy tests run in CI.

Bug: T157730
Change-Id: Ied80f70b7cafcf64d736cb0eeb1a30d52c1d7921
2017-02-13 14:54:48 -08:00
Tim Starling
a387fee397 Split up testHelpers.inc, break off fuzz testing
* Split up testHelpers.inc into one class per file, with the file named
  after the class per the usual convention. Put them in tests/parser
  since they are all parser-related, even though a couple are reused by
  other unit tests.
* Also rename parserTest.inc and parserTestsParserHook.php to follow the
  usual convention, and split off ParserTestResultNormalizer
* Move fuzz testing out to its own maintenance script. It's really not
  helpful to have fuzz testing, which is designed to run forever,
  exposed as a PHPUnit test.
* Increased fuzz test memory limit, and increased the memory headroom for
  getMemoryBreakdown(), since HHVM's ReflectionClass has an internal
  cache which uses quite a lot of memory.
* Temporarily switched a couple of ParserTest methods from private to
  public to support fuzz testing from a separate class -- I plan on
  replacing this interface in a subsequent commit.

Change-Id: Ib1a07e109ec1005bff2751b78eb4de35f2dfc472
2016-09-08 09:06:45 +10:00