We have an extension that has modified the schema with a view. Using MW 1.19 and mySQL
5.6, I'm trying to learn unit testing to do some code archaeology and refactoring.
When I run tests/phpunit/phpunit.php I get:
$ php phpunit.php
PHPUnit 3.7.28 by Sebastian Bergmann.
Configuration read from /Library/WebServer/Documents/GO/wiki/tests/phpunit/suite.xml
A database error has occurred. Did you forget to run maintenance/update.php after
upgrading? See:
https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script
Query: CREATE TEMPORARY TABLE `unittest_cacao_open_challenges_view` (LIKE
`cacao_open_challenges_view`)
Function: DatabaseMysql::duplicateTableStructure
Error: 1347 'go_wikidb.cacao_open_challenges_view' is not BASE TABLE (localhost)
Since the schema change is there regardless of whether the extension is active or not, the
test crashes either way. The wiki works.
As I understand it, this is because mySQL doesn't allow temporary tables to be created
from views. So... I am guessing that I somehow need to tell phpunit to skip this view
when testing the database.
How do I do that?
Thanks!
Jim
=====================================
Jim Hu
Professor
Dept. of Biochemistry and Biophysics
2128 TAMU
Texas A&M Univ.
College Station, TX 77843-2128
979-862-4054