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

Make tests run with HHVM #1511

Closed
cebe opened this issue Dec 13, 2013 · 29 comments
Closed

Make tests run with HHVM #1511

cebe opened this issue Dec 13, 2013 · 29 comments

Comments

@cebe
Copy link
Member

cebe commented Dec 13, 2013

HHVM Status

See http://www.hhvm.com/blog/2393/hhvm-2-3-0-and-travis-ci

yiisoft/yii#3109 (comment)
https://travis-ci.org/yiisoft/yii2/jobs/15426064

reported some issues on hhvm and travis:
facebook/hhvm#1347
travis-ci/travis-ci#1565 (comment)

related issue for 1.1: yiisoft/yii#3110

@cebe cebe mentioned this issue Dec 14, 2013
2 tasks
@samdark
Copy link
Member

samdark commented Dec 14, 2013

A good idea is to wait a bit since Facebook HHVM team is working on the next version with much better support for standard PHP functionality and extras.

@cebe
Copy link
Member Author

cebe commented Dec 14, 2013

yep, 2.4.0 will make __get and __set work properly. This is the main issue with failing tests right now.

@artem-frolov
Copy link
Contributor

HHVM 2.4.0 is released.

@cebe
Copy link
Member Author

cebe commented Feb 2, 2014

thanks for the info. need to wait until it is available on travis.

@cebe
Copy link
Member Author

cebe commented Mar 3, 2014

2.4.0 is available on travis and we are now running tests against HHVM regulary. However failing tests do not count against the overall build status right now.

Here is a HHVM build:
https://travis-ci.org/yiisoft/yii2/jobs/19992420

@cebe
Copy link
Member Author

cebe commented Mar 3, 2014

Current issues open with HHVM:

@basil-inc
Copy link
Contributor

When I try to run my Yii2 site (based on advanced template) I get this error:

ipHop Fatal error: Uncaught exception 'yii\base\ErrorException' with message 'Array to string conversion' in /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php:188
Stack trace:
#0 (): yii\base\Application->handleError()
#1 /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php(188): is_callable()
#2 /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php(252): yii\di\ServiceLocator->set()
#3 /var/www/vendor/yiisoft/yii2/base/Component.php(168): yii\di\ServiceLocator->setComponents()
#4 /var/www/vendor/yiisoft/yii2/BaseYii.php(492): yii\base\Component->__set()
#5 /var/www/vendor/yiisoft/yii2/base/Object.php(104): yii\BaseYii::configure()
#6 /var/www/vendor/yiisoft/yii2/base/Application.php(165): yii\base\Object->__construct()
#7 /var/www/backend/web/index.php(24): yii\base\Application->__construct()
#8 {main}
exception 'yii\base\InvalidConfigException' with message 'Unknown component ID: log' in /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php:132
Stack trace:
#0 /var/www/vendor/yiisoft/yii2/base/Application.php(422): yii\di\ServiceLocator->get()
#1 /var/www/vendor/yiisoft/yii2/BaseYii.php(374): yii\base\Application->getLog()
#2 /var/www/vendor/yiisoft/yii2/base/Application.php(673): yii\BaseYii::error()
#3 /var/www/vendor/yiisoft/yii2/base/Application.php(539): yii\base\Application->logException()
#4 (): yii\base\Application->handleException()
#5 {main}
Previous exception:
exception 'yii\base\ErrorException' with message 'Array to string conversion' in /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php:188
Stack trace:
#0 (): yii\base\Application->handleError()
#1 /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php(188): is_callable()
#2 /var/www/vendor/yiisoft/yii2/di/ServiceLocator.php(252): yii\di\ServiceLocator->set()
#3 /var/www/vendor/yiisoft/yii2/base/Component.php(168): yii\di\ServiceLocator->setComponents()
#4 /var/www/vendor/yiisoft/yii2/BaseYii.php(492): yii\base\Component->__set()
#5 /var/www/vendor/yiisoft/yii2/base/Object.php(104): yii\BaseYii::configure()
#6 /var/www/vendor/yiisoft/yii2/base/Application.php(165): yii\base\Object->__construct()
#7 /var/www/backend/web/index.php(24): yii\base\Application->__construct()
#8 {main}

I noticed that the file involved (/var/www/vendor/yiisoft/yii2/di/ServiceLocator.php) was updated a few hours ago, so maybe this introduces a new incompatibility?

@qiangxue
Copy link
Member

Seems already fixed? facebook/hhvm#1995

@samdark
Copy link
Member

samdark commented Mar 24, 2014

Travis for HHVM is currently broken so we can't be sure. Anyway, this is not a showstopper.

@gimox
Copy link
Contributor

gimox commented Mar 27, 2014

hi what about yii2 and hhvm ?
have you some news?

@samdark
Copy link
Member

samdark commented Mar 27, 2014

99.8% compatible.

@gimox
Copy link
Contributor

gimox commented Mar 27, 2014

it's about yii2 ?

i read in hhvm site 99.8 for yii1

@samdark
Copy link
Member

samdark commented Mar 27, 2014

Ahh, right, it's about 1.1.

@gimox
Copy link
Contributor

gimox commented Mar 27, 2014

i'm courius to know somethink about yii2 and hhvm, i see that @cebe it's working on.
hhvm end php hack are very interesting... and we are planning to use it...

@basil-inc
Copy link
Contributor

Same here, I'm eagerly awaiting compatibility. I'm also curious about the first major framework to convert to the new Hack language. I would actively support such a move for Yii2 in the mid-term future, but I understand that this would probably alienate a large part of the user base who rely on shared hosting based on the Zend PHP runtime.

@gimox
Copy link
Contributor

gimox commented Mar 27, 2014

php need a bump....
hhvm is good for enterprise, hack language can be the php that we need.
but now we are on a php compiled with variable declaration = java.

the goog news is that hack is retro compatibile with php.
so, when yii2 has 100% compatible with hhvm we can try it with hack....

@samdark
Copy link
Member

samdark commented Mar 27, 2014

@docsolver no, Yii will not be converted to Hack for the reasons you've mentioned.

@gimox hack is not backwards compatibile with php. HHVM is. That's why HHMV is important for Yii while Hack isn't.

@gimox
Copy link
Contributor

gimox commented Mar 27, 2014

@samdark you right, hack interoperates as php but is not 100% compatible (only simple script) so has no sense to use it now, it's too young...

hhvm is the future...

@samdark
Copy link
Member

samdark commented Mar 28, 2014

Added HHVM build status from http://hhvm.h4cc.de/ to issue header.

@gimox
Copy link
Contributor

gimox commented Mar 28, 2014

Thanks, yii2 now is in unknow status.

@basil-inc
Copy link
Contributor

Since the release of HHVM 3.0.0 I got my Yii2 site working, but it crashes on a lot of things. I already logged two issues, but I also don't want to delay the beta release date. Maybe HHVM support can be a next milestone?

@samdark
Copy link
Member

samdark commented Mar 31, 2014

That's not a priority. If you want to help you can track these crashes down to simple PHP code pieces and submit to HHVM repo issue tracking.

@cebe cebe added this to the 2.0 GA milestone Mar 31, 2014
@basil-inc
Copy link
Contributor

Ok, I'll try to!

@qiangxue qiangxue modified the milestones: 2.0 RC, 2.0 GA Apr 16, 2014
@cebe
Copy link
Member Author

cebe commented Jun 16, 2014

sent a PR to add yii2 to the official test suite: facebook/hhvm#2953

@samdark
Copy link
Member

samdark commented Jun 23, 2014

yiiunit\framework\helpers\ArrayHelperTest::testMultisortUseSort
Parameter 1 to array_multisort() expected to be a reference, value given

facebook/hhvm#1486 is still there.

@cebe
Copy link
Member Author

cebe commented Jun 24, 2014

yes, I know

@samdark samdark modified the milestones: 2.0 GA, 2.0 RC Jul 17, 2014
@cebe cebe modified the milestones: 2.0 GA, 2.0 RC Aug 28, 2014
@cebe
Copy link
Member Author

cebe commented Aug 28, 2014

all tests are passing.

@cebe cebe closed this as completed Aug 28, 2014
@cebe cebe self-assigned this Aug 28, 2014
@csim-sg
Copy link

csim-sg commented Sep 18, 2014

Is Yii2 failing the HHVM test after all the new commits?

@cebe
Copy link
Member Author

cebe commented Sep 18, 2014

no, why do you ask?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants