Page MenuHomePhabricator

Make PHPUnit tests pass with hhvm/MySQL on Travis CI
Closed, ResolvedPublic

Description

The current status of the tests can be viewed at https://travis-ci.org/wikimedia/mediawiki (job *.1)

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 3:59 AM
bzimport set Reference to bz73175.
bzimport added a subscriber: Unknown Object (MLST).
scfc triaged this task as Medium priority.Nov 28 2014, 9:15 PM
scfc set Security to None.
Krinkle renamed this task from Make Travis CI pass hhvm/MySQL tests to Make PHPUnit tests pass with hhvm/MySQL on Travis CI.Jan 5 2015, 1:40 AM
Krinkle updated the task description. (Show Details)
Krinkle removed a subscriber: Unknown Object (MLST).

This is currently the failure for the latest Travis CI build with hhvm+mysql:

https://travis-ci.org/wikimedia/mediawiki/jobs/148367595

Warning: Invalid argument: function: not a valid callback array in /home/travis/build/wikimedia/mediawiki/tests/phpunit/includes/session/PHPSessionHandlerTest.php on line 183
Warning: Session callback expects true/false return value in /home/travis/build/wikimedia/mediawiki/tests/phpunit/includes/session/PHPSessionHandlerTest.php on line 183
Fatal error: Failed to initialize storage module: user (path: /var/lib/hhvm/sessions) in /home/travis/build/wikimedia/mediawiki/tests/phpunit/includes/session/PHPSessionHandlerTest.php on line 183
Warning: Invalid argument: function: not a valid callback array
Warning: Session callback expects true/false return value
Warning: Destructor threw an object exception: exception 'MWException' with message 'MediaWiki\Session\PHPSessionHandlerTest::tearDown() must call parent::tearDown()' in /home/travis/build/wikimedia/mediawiki/tests/phpunit/MediaWikiTestCase.php:118
Stack trace:
#0 (): MediaWikiTestCase->__destruct()
#1 {main}

The true/false thing could be the version detection in f9d07f7ff23861c7abca27b72f0be29c292aa357 failing (or could just be a cascade from the previous error). The other errors don't make any sense to me. HHVM issue #5072 maybe?

I see the log linked was generated on July 29, 2016, while f9d07f7f that fixed the true/false thing was merged in October.

I think Gergő is right about the other error, since I see that log is using HHVM 3.6.6 while that HHVM bug wasn't fixed until 3.7.

Change 339096 had a related patch set uploaded (by Krinkle):
build: Update HHVM for Travis to 3.12

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

Change 339096 merged by jenkins-bot:
build: Update HHVM for Travis to 3.12

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

Change 339096 merged by jenkins-bot:
build: Update HHVM for Travis to 3.12

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

This didn't work as expected since the hhvm-3.12 option is only available on trusty images from Travis CI. We're on the default, which is apparently precise still.

I tried trusty on my GitHub fork, but ran into some unrelated issues. Tracking at https://github.com/travis-ci/travis-ci/issues/7368.

Change 339345 had a related patch set uploaded (by Krinkle):
build: Change Travis image from precise to trusty (Fix HHVM build)

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

Change 339345 merged by jenkins-bot:
build: Change Travis image from precise to trusty (Fix HHVM build)

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