https://bugzilla.wikimedia.org/show_bug.cgi?id=58095
Web browser: --- Bug ID: 58095 Summary: wfWarn should not cause unit tests to fail Product: MediaWiki Version: 1.23-git Hardware: All OS: All Status: NEW Keywords: easy Severity: normal Priority: Unprioritized Component: Logging Assignee: wikibugs-l@lists.wikimedia.org Reporter: marcin.cies...@gmail.com Classification: Unclassified Mobile Platform: --- wfWarn() is called, among others, from Database::rollback where it warns that there is no transaction to rollback. Rollback is used already in the error situation; in this case wfWarn exits and this prevents subsequent printing of the real database error message that caused the database problem in the first place. With 4b291909e0e91ad4e8ed98030c1312a872ca3bd4 in place, SQL transactions on PostgreSQL fail with: TestORMRowTest::testSaveAndRemove with data set #0 (array('Foobar', '2012-01-01 02:02:02 G MT', 42, 9000.1, true, array(13, 11, 7, 5, 3, 2), stdClass), true) DatabasePostgres::reportQueryError: No transaction to rollback, something got out of sync! [Ca lled from DatabaseBase::rollback in /usr/home/saper/test/mytest/includes/db/Database.php at li ne 3482] /usr/home/saper/test/mytest/includes/debug/Debug.php:301 /usr/home/saper/test/mytest/includes/debug/Debug.php:157 /usr/home/saper/test/mytest/includes/GlobalFunctions.php:1110 /usr/home/saper/test/mytest/includes/db/Database.php:3482 /usr/home/saper/test/mytest/includes/db/DatabasePostgres.php:510 /usr/home/saper/test/mytest/includes/db/Database.php:1077 /usr/home/saper/test/mytest/includes/db/DatabasePostgres.php:871 /usr/home/saper/test/mytest/includes/db/ORMTable.php:1015 /usr/home/saper/test/mytest/includes/db/ORMRow.php:352 /usr/home/saper/test/mytest/tests/phpunit/includes/db/ORMRowTest.php:143 /usr/home/saper/test/mytest/tests/phpunit/MediaWikiTestCase.php:123 /usr/home/saper/test/mytest/tests/phpunit/MediaWikiPHPUnitCommand.php:80 /usr/home/saper/test/mytest/tests/phpunit/MediaWikiPHPUnitCommand.php:64 /usr/home/saper/test/mytest/tests/phpunit/phpunit.php:119 while the real error should be: TestORMRowTest::testSaveAndRemove with data set #0 (array('Foobar', '2012-01-01 02:02:02 GM T', 42, 9000.1, true, array(13, 11, 7, 5, 3, 2), stdClass), true) DBQueryError: A database error has occurred. Did you forget to run maintenance/update.php afte r upgrading? See: https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script Query: INSERT INTO "orm_test" (test_id,test_name,test_age,test_height,test_awesome,test_stuff, test_moarstuff,test_time) VALUES (NULL,'Foobar','42','9000.1',1,'a:6:{i:0;i:13;i:1;i:11;i:2;i: 7;i:3;i:5;i:4;i:3;i:5;i:2;}','O:8:"stdClass":3:{s:3:"foo";s:3:"bar";s:3:"bar";a:2:{i:0;i:4;i:1 ;i:2;}s:3:"baz";b:1;}','2012-01-01 02:02:02 GMT') Function: ORMTable::insertRow Error: 23502 ERROR: null value in column "test_id" violates not-null constraint /usr/home/saper/test/mytest/includes/db/Database.php:1111 /usr/home/saper/test/mytest/includes/db/DatabasePostgres.php:511 /usr/home/saper/test/mytest/includes/db/Database.php:1077 /usr/home/saper/test/mytest/includes/db/DatabasePostgres.php:871 /usr/home/saper/test/mytest/includes/db/ORMTable.php:1015 /usr/home/saper/test/mytest/includes/db/ORMRow.php:352 /usr/home/saper/test/mytest/tests/phpunit/includes/db/ORMRowTest.php:143 /usr/home/saper/test/mytest/tests/phpunit/MediaWikiTestCase.php:123 /usr/home/saper/test/mytest/tests/phpunit/MediaWikiPHPUnitCommand.php:80 /usr/home/saper/test/mytest/tests/phpunit/MediaWikiPHPUnitCommand.php:64 /usr/home/saper/test/mytest/tests/phpunit/phpunit.php:119 Warning about transaction not being open is completely irrelevant in this context. It causes some less useful error reports like bug 57724. Reverting 4b291909e0e91ad4e8ed98030c1312a872ca3bd4 restores proper error reporing and actually fixes ORMTableTest::testIgnoreErrorsOverride and some others on PostgreSQL. -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l