Drupal 8 doesn't like this flavor of PHP 5.6 (multibyte string output conversion)
Closed this issue · 4 comments
wimleers commented
- With
DCI_INSTALLER="none"
(the default): all tests fail - With `DCI_INSTALLER="drush":
testbot@lubuntu:~/drupalci_testbot$ sudo DCI_DBTYPE='mysql' DCI_DBVER='5.5' DCI_PHPVERSION='5.6' DCI_TESTGROUPS='--all' DCI_DRUPALBRANCH='8.0.x' DCI_CONCURRENCY='16' DCI_INSTALLER="drush" ./containers/web/run.sh
------------------------------------------------------------------------------
Containers: web-5.6 and drupaltestbot-db-mysql-5.5 available
Running PHP5.6/mysql on drupalci/web-5.6 at Fri Sep 19 09:03:36 UTC 2014
------------------------------------------------------------------------------
Local Drupal repo found on /home/testbot/testbotdata/drupal/
Local Drush found on /home/testbot/testbotdata/vendor/drush/drush/drush
Cloning into '/home/testbot/testbotdata/build_2014_09_19_090336'...
done.
Already on '8.0.x'
Your branch is up-to-date with 'origin/8.0.x'.
NOTICE: $DCI_DEPENDENCIES has no modules declared...
NOTICE: $DCI_DEPENDENCIES_GIT has nothing declared...
NOTICE: $DCI_DEPENDENCIES_TGZ has nothing declared...
NOTICE: $DCI_PATCH variable has no patch to apply...
------------------------ ENVIRONMENT VARIABLES IN USE ------------------------
DCI_IDENTIFIER="build_2014_09_19_090336"
DCI_DRUPALBRANCH="8.0.x"
DCI_DRUPALVERSION="8"
DCI_UPDATEREPO="false"
DCI_REPODIR="/home/testbot/testbotdata"
DCI_DRUPALREPO="http://git.drupal.org/project/drupal.git"
DCI_DRUSHREPO="https://github.com/drush-ops/drush.git"
DCI_BUILDSDIR="/home/testbot/testbotdata"
DCI_WORKSPACE="/home/testbot/testbotdata/build_2014_09_19_090336/"
DCI_DEPENDENCIES=""
DCI_DEPENDENCIES_GIT=""
DCI_DEPENDENCIES_TGZ=""
DCI_MODULESPATH="./modules"
DCI_PATCH=""
DCI_DBUSER="drupaltestbot"
DCI_DBPASS="drupaltestbotpw"
DCI_DBTYPE="mysql"
DCI_DBVER="5.5"
DCI_DBCONTAINER="drupaltestbot-db-mysql-5.5"
DCI_DBLINK="--link=drupaltestbot-db-mysql-5.5:db"
DCI_CMD=""
DCI_INTERACTIVE=""
DCI_INSTALLER="drush"
DCI_VERBOSE="false"
DCI_PHPVERSION="5.6"
DCI_CONCURRENCY="16"
DCI_RUNSCRIPT="php ./core/scripts/run-tests.sh --php /usr/bin/php --url 'http://localhost' --color --concurrency 16 --xml '/var/workspace/results'"
DCI_TESTGROUPS="--all"
VERBO=""
------------------------ STARTING DOCKER CONTAINER ---------------------------
Operation [start]...
Starting apache2 service
Operation 8 [install] using drush...
You are about to create a /var/www/sites/default/settings.php file and CREATE the 'build_2014_09_19_090336' database. Do you want to continue? (y/n): y
Starting Drupal installation. This takes a while. Consider using the --notify global option. [ok]
Unicode library: Error [error]
Multibyte string output conversion in PHP is active and must be disabled. Check the php.ini <em>mbstring.http_output</em> setting. Please refer to the <a
href="http://www.php.net/mbstring">PHP mbstring documentation</a> for more information.
Command pm-enable needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment to run this command. [error]
The drush command 'en simpletest' could not be executed. [error]
Drush was not able to start (bootstrap) the Drupal database. [error]
Hint: This may occur when Drush is trying to:
* bootstrap a site that has not been installed or does not have a configured database. In this case you can select another site with a working database setup by specifying the URI
to use with the --uri parameter on the command line. See `drush topic docs-aliases` for details.
* connect the database through a socket. The socket file may be wrong or the php-cli may have no access to it in a jailed shell. See http://drupal.org/node/1428638 for details.
Drush was attempting to connect to:
Drupal version : 8.0.0-dev
Site URI : http://default
PHP executable : /usr/bin/php
PHP configuration : /.phpenv/versions/5.6.0/etc/php.ini
PHP OS : Linux
Drush version : 7.0-dev
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
Drupal root : /var/www
Site path : sites/default
Operation [run tests]...
export TERM=linux && cd /var/www && php ./core/scripts/run-tests.sh --php /usr/bin/php --url 'http://localhost' --color --concurrency 16 --xml '/var/workspace/results' --all | tee /var/www/test.stdout
ERROR: Missing default database connection for tests. Use --dburl to specify one.
real 2.15
user 0.00
sys 0.00
Saving image build_2014_09_19_090336 at Fri Sep 19 09:03:39 UTC 2014:
7b9963ea1378fc67ace8e1ec1dda9bb605869dc319934727aed21b5b9fc6bfb4
------------------------------------------------------------------------------
Results directory: /home/testbot/testbotdata/build_2014_09_19_090336/results/
Clean up old Builds on /home/testbot/testbotdata to save disk space
------------------------------------------------------------------------------
Docker run command:
/usr/bin/time -p docker run --link=drupaltestbot-db-mysql-5.5:db --name=build_2014_09_19_090336 -v=/home/testbot/testbotdata/build_2014_09_19_090336/:/var/workspace:rw -v=/home/testbot/testbotdata/build_2014_09_19_090336/:/var/www:rw -p 80 -t drupalci/web-5.6
testbot@lubuntu:~/drupalci_testbot$
Seems like this flavor of PHP 5.6 has multibyte strings enabled and Drupal 8 can't deal with that.
weitzman commented
The Drupal issue for this is https://www.drupal.org/node/2332265. Setting apc.cli_enabled=1 will work around the problem.
ricardoamaro commented
Fix commited!
ricardoamaro commented
a new version of the Bootable testbot will include the fix
I'll upload and update https://www.drupal.org/node/2336389
ricardoamaro commented
Tests now run using drush install:
~/drupalci_testbot$ sudo DCI_DBTYPE='mysql' DCI_DBVER='5.5' DCI_PHPVERSION='5.6' DCI_TESTGROUPS='--all' DCI_DRUPALBRANCH='8.0.x' DCI_CONCURRENCY='16' DCI_INSTALLER="drush" ./containers/web/run.sh
------------------------ STARTING DOCKER CONTAINER ---------------------------
Operation [start]...
Starting apache2 service
Operation 8 [install] using drush...
You are about to create a /var/www/sites/default/settings.php file and CREATE the 'build_2014_09_20_122557' database. Do you want to continue? (y/n): y
Starting Drupal installation. This takes a while. Consider using the --notify global option. [ok]
Installation complete. User name: admin User password: drupal [ok]
Congratulations, you installed Drupal!Drupal installation complete [status]
The following extensions will be enabled: simpletest
Do you really want to continue? (y/n): y
simpletest was enabled successfully. [ok]
Operation [run tests]...
export TERM=linux && cd /var/www && php ./core/scripts/run-tests.sh --php /usr/bin/php --url 'http://localhost' --color --concurrency 16 --xml '/var/workspace/results' --all | tee /var/www/test.stdout
Drupal test run
---------------
All tests will run.
Test run started:
Saturday, September 20, 2014 - 12:28
Test summary
------------
Drupal\system\Tests\Action\ActionUnitTest 15 passes
Etc...