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: [email protected]
Reporter: [email protected]
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
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l