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 & run-tests.sh, 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 https://drupal.org/node/2144475
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).

Comments

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 http://git.drupal.org/project/drupaltestbot.git
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

Project:Drupal.org Testbots» DrupalCI: Test Runner (Modernizing Testbot Initiative)
Component:malfunctioning testbot» Code
jthorson’s picture

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

Different circus, different monkeys.