Currently, we've got a dedicated sqlite testbot ready for on-demand core testing. However, we need to be able to pass the 'confirmation' stage before it can be used. (Disclaimer: Some of the corners cut to make this actually work are, to be blunt, ugly!)

Unfortunately, the confirmation test fails due to simpletest failing the NonDefaultBlockAdmin test with a 'failed to find test tables to drop' test failure. I suspect this is a problem within simpletest &, and not PIFR directly.

Looking at the server after the test runs, it almost appears that the simpletest tables are being created in a seperate sqlite database file, which may explain the 'failed to drop' error (i.e. the aren't in the site db to be dropped).

We could use:
1) Independent verification whether this is repeatable through UI based testing on an sqlite-based installation
2) A volunteer to build up a vagrant testbot (I can provide details on how to convert it to sqlite), and troubleshoot what's actually going on here. Start with
3) A patch to drush which will enable 'drush si' to be passed a db_url parameter relative to the server root, instead of directory in which it was executed (which will get rid of the worst of the PIFR workarounds).


jthorson’s picture

Issue summary:View changes
jthorson’s picture

Once the vagrant testbot is built, you'll need to perform the following to convert it to sqlite:

apt-get install devscripts debhelper build-essential fakeroot sqlite3
cd ~
git clone --branch master
cd drupaltestbot-sqlite3
debuild -b -uc -us
cd ..
apt-get remove drupaltestbot-mysql    (can keep or remove database)
dpkg -i drupaltestbot-sqlite3_0.0.1_all.deb  (use dbconfig to set up db)
cd /var/lib/drupaltestbot/sites/all/modules/project_issue_file_review/
git fetch
git checkout 6.x-3.x
cd /var/lib/dbconfig-common/
chown -R www-data:www-data sqlite3
cd /etc/drupaltestbot
vi config-checkout.php     (Move '/' at beginning of $basepath to the end)

If the puppet build fails, try adding "pluginsync=true" to the puppet.conf file.

andypost’s picture

Trying to run sqlite install locally: core installed fine but tests mostly fails in cache_bootstrap clear.

Probably that's because simpletest creates new db-file for each test

$ ll d8*
-rw-r--r-- 1 andypost www-data 2596864 дек.   8 17:40 d8.db
-rw-r--r-- 1 andypost www-data 3707904 дек.   8 17:40 d8.db-simpletest426559
-rw-r--r-- 1 andypost www-data   14336 дек.   8 17:40 d8.db-simpletest520087
-rw-r--r-- 1 andypost www-data  518144 дек.   8 17:40 d8.db-simpletest878081

There's a lot of exceptions when trying to run tests:
Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[HY000]: General error: 17 database schema has changed: DELETE FROM {cache_bootstrap} WHERE (cid IN (:db_condition_placeholder_0)) ; Array ( [:db_condition_placeholder_0] => variables ) in Drupal\Core\Database\Connection->query() (line 568 of /home/andypost/www/core8/core/lib/Drupal/Core/Database/Connection.php).

isntall’s picture Testbots» DrupalCI: Test Runner (Modernizing Testbot Initiative)
Component:malfunctioning testbot» Code
jthorson’s picture

Project:DrupalCI: Test Runner (Modernizing Testbot Initiative)» Testbots

Different circus, different monkeys.