Well, we have a (very few) written, including these three from the webservices. And we have the infrastructure for writing and running more of them. But it has not been our policy to routinely write unit tests, because Mahara wasn't originally written with unit testing in mind, and hence it would require a lot of refactoring to make most of it unit testable.
The three tests that are failing in MySQL are the ones that Piers wrote for the webservices module, which we disabled because they need some non-trivial shims to make it possible to run those tests successfully. (Specifically, the tests send out curl requests to Mahara's webservices; but the instance of Mahara being accessed by that curl URL is not the same "test instance" that phpunit is using.) That's why they show up as "SSS" on the end of the Postgres results. The "S" indicates we put a flag on the test saying to skip it. It's strange that they're not being skipped in MySQL. :-\ -- 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 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

