Okay, I found a few things going on here: 1. I put the "markTestSkipped" command in the "testRun()" method. So, the "setup()" method still runs, unnecessarily, for the webservices tests.
2. The WebServiceTestBase class fails to call parent::setup() during its setup() method. That's what is causing this specific error. 3. Our phpunit infrastructure is a bit broken. It doesn't tear everything down properly, so if you do "make phpunit" twice on the same database, you get errors the second time when it tries to re-create things that still exist. I think this is because we have some database items that are not defined in our install.xml files. These are mostly indexes and constraints that are too complex to specify in xmldb format, so they're created directly with SQL queries during installation. But this isn't a MySQL-specific problem. It happens in Postgres too. I'll put in patches right now to fix 1 & 2 since they're one-liners. Number 3 will need to go in a different bug I think. Cheers, Aaron -- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it! https://bugs.launchpad.net/bugs/1515473 Title: 15.04 Unit tests fail using MySql Status in Mahara: New Status in Mahara 15.04 series: New Status in Mahara 15.10 series: New Status in Mahara 16.04 series: New Bug description: Mahara: $config->version = 2015030419; $config->series = '15.04'; $config->release = '15.04.4'; DB: mysql 5.5 (mysql Ver 14.14 Distrib 5.5.46, for debian-linux-gnu (x86_64) using readline 6.3) When running unit tests on a vanilla Mahara 15.04.4 with a mysql database, 3 tests fail: Configuration read from /var/www/palnet/mahara/phpunit.xml ........EEE Time: 39.5 seconds, Memory: 36.00Mb There were 3 errors: 1) WebServiceGroupTest::testRun SQLException: Failed to get a recordset: mysqli error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"tst_config" WHERE "field" = 'webservice_enabled' LIMIT 2' at line 1] in EXECUTE("SELECT * FROM "tst_config" WHERE "field" = 'webservice_enabled' LIMIT 2") Command was: SELECT * FROM "tst_config" WHERE "field" = ? and values was (webservice_enabled) /var/www/palnet/mahara/htdocs/lib/dml.php:480 /var/www/palnet/mahara/htdocs/lib/dml.php:314 /var/www/palnet/mahara/htdocs/lib/dml.php:291 /var/www/palnet/mahara/htdocs/lib/mahara.php:885 /var/www/palnet/mahara/htdocs/webservice/tests/phpunit/WebServiceTestBase.class.php:85 /var/www/palnet/mahara/htdocs/webservice/tests/phpunit/WebServiceGroupTest.php:28 2) WebServiceInstitutionTest::testRun SQLException: Failed to get a recordset: mysqli error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"tst_config" WHERE "field" = 'webservice_enabled' LIMIT 2' at line 1] in EXECUTE("SELECT * FROM "tst_config" WHERE "field" = 'webservice_enabled' LIMIT 2") Command was: SELECT * FROM "tst_config" WHERE "field" = ? and values was (webservice_enabled) /var/www/palnet/mahara/htdocs/lib/dml.php:480 /var/www/palnet/mahara/htdocs/lib/dml.php:314 /var/www/palnet/mahara/htdocs/lib/dml.php:291 /var/www/palnet/mahara/htdocs/lib/mahara.php:885 /var/www/palnet/mahara/htdocs/webservice/tests/phpunit/WebServiceTestBase.class.php:85 /var/www/palnet/mahara/htdocs/webservice/tests/phpunit/WebServiceInstitutionTest.php:28 3) WebServiceUserTest::testRun SQLException: Failed to get a recordset: mysqli error: [1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"tst_config" WHERE "field" = 'webservice_enabled' LIMIT 2' at line 1] in EXECUTE("SELECT * FROM "tst_config" WHERE "field" = 'webservice_enabled' LIMIT 2") Command was: SELECT * FROM "tst_config" WHERE "field" = ? and values was (webservice_enabled) /var/www/palnet/mahara/htdocs/lib/dml.php:480 /var/www/palnet/mahara/htdocs/lib/dml.php:314 /var/www/palnet/mahara/htdocs/lib/dml.php:291 /var/www/palnet/mahara/htdocs/lib/mahara.php:885 /var/www/palnet/mahara/htdocs/webservice/tests/phpunit/WebServiceTestBase.class.php:85 /var/www/palnet/mahara/htdocs/webservice/tests/phpunit/WebServiceUserTest.php:28 FAILURES! Tests: 11, Assertions: 21, Errors: 3. make: *** [phpunit] Error 2 ----------------------------------------------------------------------------------------------- On the same vanilla Mahara 15.04.4, the unit tests pass using postgres: PHPUnit 4.3.4 by Sebastian Bergmann. Configuration read from /var/www/palnet/mahara/phpunit.xml ........SSS Time: 38.13 seconds, Memory: 35.25Mb OK, but incomplete, skipped, or risky tests! Tests: 11, Assertions: 21, Skipped: 3. To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/1515473/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : [email protected] Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp

