Skip ApiFormatWddxTest under HHVM
authorBrad Jorsch <bjorsch@wikimedia.org>
Tue, 16 Dec 2014 16:52:52 +0000 (11:52 -0500)
committerBryanDavis <bdavis@wikimedia.org>
Thu, 18 Dec 2014 16:57:49 +0000 (16:57 +0000)
wddx_serialize_value() fails to escape the ampersand under HHVM. It has
been fixed upstream https://github.com/facebook/hhvm/issues/4283 but
has not been released yet.

When running under HHVM and detecting the ampersand is not escaped, skip
the test..

Bug: T75531
Change-Id: Ia58ec20b4daf78cd90da1bdf8af6cac86015c5d7

tests/phpunit/includes/api/format/ApiFormatWddxTest.php

index 5170856..c00545f 100644 (file)
@@ -13,6 +13,13 @@ class ApiFormatWddxTest extends ApiFormatTestBase {
                        $this->markTestSkipped( "Function 'wddx_deserialize' not exist, skipping." );
                }
 
+               if ( wfIsHHVM() && false === strpos( wddx_serialize_value( "Test for &" ), '&amp;' ) ) {
+                       # Some version of HHVM fails to escape the ampersand
+                       #
+                       # https://phabricator.wikimedia.org/T75531
+                       $this->markTestSkipped( "wddx_deserialize is bugged under this version of HHVM" );
+               }
+
                $data = $this->apiRequest( 'wddx', array( 'action' => 'query', 'meta' => 'siteinfo' ) );
 
                $this->assertInternalType( 'array', wddx_deserialize( $data ) );