Commit graph

1521 commits

Author SHA1 Message Date
jenkins-bot
f4604544cd Merge "Test to make sure numRows() calls don't show unrelated errors" 2013-03-22 13:58:55 +00:00
Chad Horohoe
1b292fe465 Test to make sure numRows() calls don't show unrelated errors
Bug: 42430
Change-Id: Ie939785c1f75aa99bdf59e013d5ebf65e866289c
2013-03-22 13:51:07 +00:00
jenkins-bot
1736362cb4 Merge "Tests: Make phpunit providers "public static"." 2013-03-22 09:09:26 +00:00
Timo Tijhof
b36d883017 Tests: Make phpunit providers "public static".
Follows-up I9d2b148e57 (including phpunit/languages this time).

Bug: 46434
Change-Id: I30e5efcd88c516121c454676bd7a18f9b7c8fca6
2013-03-22 03:12:37 +01:00
umherirrender
3b2c99d768 MessageTest: Split test and use setMwGlobals
Change-Id: I9d7f16ed519622d5ac947da8538449f520eb0eae
2013-03-21 20:05:39 +01:00
jenkins-bot
9484ad6930 Merge "MagicVariableTest.php: Use dataProvider" 2013-03-20 20:45:39 +00:00
umherirrender
817d4fc55b MagicVariableTest.php: Use dataProvider
Setting a global 3 times in one test method looks weird

Change-Id: I97f6a932ee2d5c9a5e427cf0f40ced730b7e12ec
2013-03-20 20:10:18 +01:00
umherirrender
7140f8933a SideBarTest.php: Use dataProvider/use setMwGlobals
One test method should cover one thing, so splitting this up.
Removing save/restore of globals, done automatically with setMwGlobals

Change-Id: Ideefaf23723b224fc14aff9fdc448f1ee6ec9ea9
2013-03-20 19:46:46 +01:00
Kaldari
06b0967caa Allow the retrieval of the plural rule type for a given number
For example, find out which rule type should be applied for 5 items
in Arabic. The result would be 'few'.

This implementation should be non-disruptive and completely backwards
compatible (which is the main reason it isn't a lot simpler).

Change-Id: I3d72e4105f6244b0695116940e62a2ddef66eb66
2013-03-20 14:34:12 +05:30
jenkins-bot
36a7858300 Merge "Remove custom plurals for Nso and Sl in favour of CLDR" 2013-03-20 08:41:52 +00:00
Santhosh Thottingal
133f5952fd Remove custom plurals for Nso and Sl in favour of CLDR
Nso - Northern Sotho
Sl - Slovenian

Plural rules were not changed. They are same in CLDR and MW

Change-Id: I0e0c84352de2de8f58af5a9147ba18b0fe1fb39a
2013-03-20 08:35:59 +00:00
Brad Jorsch
fc00763f0d Add parser method to call parser functions
There is currently no straightforward way for anything to call a parser
function and get the result. This abstracts out that portion of
braceSubstitution() to allow this.

The immediate motivation for this patch is to close bug 41769 against
Scribunto, see I0138836654b0e34c5c23daaedcdf5d4f9d1c7ab2.

Bug: 41769
Change-Id: I339b882010dedd714e7965e25ad650ed8b8cd48f
2013-03-20 02:52:45 +00:00
Aaron Schulz
cc3ac23c4f [JobQueue] Optimized redis queue to use Lua scripts.
* Cleaned up some data structures into hashes, which get better
  compression and play well with the KEYS parameter in Lua scripts.
  The claim list is now a sorted set with O(logN) removal in ack()
  and O(log(N)+M) searching in recycleAndDeleteStaleJobs().
* Made the class itself control object serialization, so that lua
  scripts have an easy time. Only the job data itself needs to be
  serialized, where as other things just get bloated.
* Used Lua scripts to get push(), pop() and ack() down to 1 RTT.
* Likewise rewrote recycleAndDeleteStaleJobs() to use a script.
* Fixed bug where claimed duplicate jobs removed the data on ack(),
  which meant that claimed duplicated jobs could no-op newer ones.
  De-duplication should only apply to unclaimed jobs like for the
  JobQueueDB class, so that unfinished jobs don't no-op new ones.
* Removed locking in recycleAndDeleteStaleJobs(), which would not do
  much since the exclusive set request would serialize on the lua
  script anyway. The lua script will finish quickly the next times
  if done more than once in a row due to sorted set usage.
  Also made recycleAndDeleteStaleJobs() run randomly to reduce the
  chance of a single calling tying up the server.
* Removed useless hDel() call in getJobFromUidInternal().
* Changed unit tests to handle the different supported orders better.
  Added tests for the 'timestamp' ordering.

Change-Id: Ib2d7aff18753195248ab856afd4a46e18b301db9
2013-03-20 01:04:53 +00:00
umherirrender
8764b3aa7c Remove spaces in function signature
Change-Id: I45aea7a7af88cd913b2f485913620a8af0ab2fed
2013-03-18 20:44:43 +01:00
jenkins-bot
ba3b38ac95 Merge "Use gettype only for debugging text" 2013-03-18 18:44:59 +00:00
Antoine Musso
1b2c9970a6 acessor for MediaWikiTestCase::$useTemporaryTables
useTemporaryTables is marked private to prevent childs from overriding
the value which would cause a lot of madness whenever it forgot to reset
its status.  But that in turns prevents a child class from figuring out
whether we use temporary tables or not. The ActiveAbstract extension
test suite has such a requirement and hence need a proper accessor.

MediaWikiTestCase::usesTemporaryTables() is a public accessor to for the
private property MediaWikiTestCase::$useTemporaryTables.

Change-Id: I8016c49116a187d7523cc0d6190514f8a513eafb
2013-03-18 15:15:08 +00:00
Santhosh Thottingal
43f5eb600b Move plural rules of Samogitian(sgs) to plurals-mediawiki.xml
* CLDR does not define plural rules for sgs.
* Port the plural rules present in LanguageSgs.php to CLDR plural
  definition syntax
* Remove LanguageSgs.php
* Update the tests, reorder/rename the plural form names

Change-Id: I44658402d69a6805cdfd189fe780eadee94056c7
2013-03-18 13:41:46 +05:30
umherirrender
3dd97bf651 Use gettype only for debugging text
Changed some gettype == 'array', 'object' and similar to is_array,
is_object or similar

Output of gettype must not stable across versions and it is slow

Change-Id: I07bfc063b03be1200989dd6facee66b35ab51d77
2013-03-15 22:50:42 +01:00
Aaron Schulz
f31a0463aa Fixed importScopedSession() and moved exportUserSession() to RequestContext.
* Renamed WebRequest::exportUserSession -> RequestContext::exportSession.
  Updated the only callers of this new function.
* Init the user with User::newFromId() instead of relying on the session
  (which breaks when things like CentralAuth are enabled).
* Made RequestContext::exportSession() include the user ID.
* Removed now-redundant user ID checks in upload jobs.
* Added unit tests for the session import function.

Change-Id: I543e6766f7a8a828ea5d270328c3bc7738c6fe94
2013-03-15 12:49:54 -07:00
Antoine Musso
b5299c2663 mark UtfNormal::CleanUpTest as expensive
The CleanUpTest are a bit long and reach the medium timeout of 10
seconds.  Mark them as large would give them a 60 seconds timeout,
hopefully enough to generate code coverage.

Change-Id: Id6d13204428ec1810a9b56db76bed351bf45b950
2013-03-14 05:05:24 +01:00
Antoine Musso
0e7092026b typo in @cover statement
PHP Code Coverage uses the @cover comment statement to limit code
coverage to some specific function.  The method reference lacked the
trailing 's' leading to an error when running coverage:

PHP_CodeCoverage_Exception: Trying to @cover not existing method
"Title::checkReadPermission".

Change-Id: Ie09e804039271ec8f0165c32dc7849ea4be8a3b9
2013-03-14 04:56:42 +01:00
jenkins-bot
6902582c67 Merge "Add space between number and unit of measure" 2013-03-13 06:45:00 +00:00
Aaron Schulz
1045622590 [FileBackend] Fixed "ignoreMissingSource" bug in multiwrite backend.
* Beefed up unit tests for this case and other "ignoreMissingSource" cases
  such as when the source container or parent directory do not exist.

Change-Id: Iea6dae2424edfd0c4367e5cff606c09a4e8a865b
2013-03-12 13:39:40 -07:00
Siebrand Mazeland
ee93ce6699 Add space between number and unit of measure
Also update tests.

Spotted by Opraco in
https://translatewiki.net/wiki/Thread:Support/About_MediaWiki:Bitrate-kilobits/en

Change-Id: I81ad428ebc8b2511b871bf98540bc74508f00939
2013-03-12 19:40:47 +01:00
Aaron Schulz
2135b80fcd [LockManager] Various fixes to lock managers.
* Improved handling of corrupt values in cache for MemcLockManager.
  Also improved the use of Status warnings a bit.
* Removed broken special-case handling for SH->EX lock escalation.
  Updated MysqLockManager to compensate.
* Made FSLockManager only use one handle per file, which is more
  efficient and avoids errors when escalating locks (SH->EX).
* Made lock unit tests have more useful output on failure.

Change-Id: Ib304712fa2b6b3fd02bfc1b08b6f238c771960c2
2013-03-12 04:14:47 +00:00
Yuri Astrakhan
27d83878c0 Lots of spelling mistakes and phpdoc attributes
@throw->@throws
@returns->@return
@seealso->@see
@cover->@covers
etc

Change-Id: I9ae6bc3034e9790e2d66cd96473b923fe9ee7953
2013-03-10 23:16:28 -04:00
jenkins-bot
e439cfb1b1 Merge "Fix more UnitTests for databases that do not use integer timestamps" 2013-03-08 22:54:28 +00:00
Brent Garber
ba4b7bc35b Fix more UnitTests for databases that do not use integer timestamps
Change-Id: I6f8b19aa6e6a9efc3320bb18fa8c7ec8b72a0c17
2013-03-08 19:51:52 +00:00
umherirrender
d9dd04b6f8 fix MessageCacheTest for non-english wikis
MessageCacheTest::addDBData is called before setUp, so wgLanguageCode
and wgContLang are not set to 'en', which result in mediawiki pages
created as $key/en. When the test runs, the language is set correctly
and mediawiki is searching under $key, and does not find anything.

Set wgLanguageCode and wgContLang at the begin of addDBData

1) MessageCacheTest::testMessageFallbacks with data set #0
('FallbackLanguageTest-Full', 'ab', 'ab')
Message fallback failed.
Failed asserting that false matches expected 'ab'.

Change-Id: I8e70b7b424df6a9ad98bfb6c228809f4b4437d1e
2013-03-08 17:09:06 +01:00
jenkins-bot
ba940af288 Merge "Read full memcached response before manipulating data" 2013-03-07 17:34:05 +00:00
jenkins-bot
1950c39012 Merge "(bug 1495) Enable on-wiki message language fallbacks" 2013-03-07 15:27:36 +00:00
Matthias Mullie
a8f00e5c97 Read full memcached response before manipulating data
Memcached response when fetching data typically looks like this:
VALUE <the stored value for whatever key you requested>
END

What the code used to do is read the first line (the VALUE) and re-
assemble the data being fetched there (like unserializing serialized
data). After that, it will read the next line (END).

The value could be a serialized object, which could have a __wakeup.
This __wakeup could have code which in turn executes Memcached-
related stuff. The problem is that, while that object is being
unserialized already, it's wakeup code is attempting to read new
stuff from Memcached, but we have yet to read the END of the data
we're attempting to unserialize (when we'll read a new value from
Memcached, the first thing we'd get is the END we have not yet read..)

The correct way to go about this would be to first read the full
Memcached response, and only unserialize the read data after that.
This is exactly what this patchset does.

Change-Id: I902809c6dde657091c8161a09df823170bd41f7a
2013-03-07 15:59:10 +01:00
Krinkle
d4bb6aedf4 Merge "Revert "(bug 45677) CSSJanus: support text-shadow and box-shadow flipping"" 2013-03-07 06:19:33 +00:00
Krinkle
d86c886ac6 Revert "(bug 45677) CSSJanus: support text-shadow and box-shadow flipping"
See I5d24c7d8456e2. This is a wontfix per Trevor and myself.

This reverts commit e457d804eb

Change-Id: I886a078cbeedd5a742e9c6dfedc9bd718bab089c
2013-03-07 06:19:26 +00:00
jenkins-bot
81428046c0 Merge "Force $wgCategoryCollation to be uppercase in tests" 2013-03-06 20:39:42 +00:00
Matthew Walker
d434bfcf3b (bug 1495) Enable on-wiki message language fallbacks
The core function behind wfMessage() (MessageCache->get()) did not
apply the language fallback chain to on-wiki messages.

This patch has changed the behavior to iterate over all possible
on-wiki fallbacks (starting with the user's language) before
using the built-in language cache (CDB files). Previously we only looked
for the existence of an on-wiki message in the users's language.

Performance wise, using the 'ab' language ('ru', 'en' fallbacks)
MessageCache::get (Averaged over runs and calls)
New Code: ~8.5% TET (110us/call)
Old Code: ~6.5% TET ( 90us/call)

TET: Total Execution Time

Change-Id: Iaaf6ccebd8c40c9602748c58c3a5c73c29e7aa4d
2013-03-06 19:54:02 +00:00
jenkins-bot
53b4dcd2b8 Merge "Use American English spelling for behavior" 2013-03-06 09:00:26 +00:00
nischayn22
b9b3d8821a (bug 37352) Boolean issue when using sqlite.
using a type cast instead, otherwise an empty string gets converted to
true when set with bool type.

Change-Id: I4161de32151a649161ab4084e80cafe4a462c7d5
2013-03-06 03:45:48 +00:00
Aaron Schulz
98dc0349b2 [LockManager] Added ScopedLock::release function.
* Added more lock unit tests.

Change-Id: Ic359307cf26cfb621ae8d2db867801735a375dde
2013-03-05 13:33:51 -08:00
jenkins-bot
8d6995937f Merge "(bug 45677) CSSJanus: support text-shadow and box-shadow flipping" 2013-03-05 19:52:19 +00:00
MatmaRex
e457d804eb (bug 45677) CSSJanus: support text-shadow and box-shadow flipping
We just need to negate the horizontal offset value in both of them.

This only supports *a single shadow* per element; multiple shadows
are not supported (only the first will be flipped).

Also, to make it possible:
* don't mangle 5+ consecutive numeric values in the
  'four_notation_quantity' rule
* support rgb(a) and hsl(a) colors in the 'color' rule

Change-Id: I148229558e1b9a0516e413ffe86007235c3c3ef8
2013-03-05 20:42:52 +01:00
umherirrender
d3a7621cab Force $wgCategoryCollation to be uppercase in tests
Bug: 40489
Change-Id: I920950e93f214961aa91d916e606dbb22c8dc2d9
2013-03-05 16:54:06 +00:00
Santhosh Thottingal
406d958795 Remove custom Latvian(lv) language plural rules
CLDR is now in sync with MW plural rules. So no need of custom plural logic

Change-Id: I399f99ddd40eea67e981d5710658ba635f115a31
2013-03-04 16:49:02 +05:30
Siebrand Mazeland
9b7889b84b Use American English spelling for behavior
Spotted in ipbreason-dropdown by Shirayuki.

Change-Id: I576ed4bc0abe5ab980aaee3fb9f9e4b43087311f
2013-03-04 10:24:57 +01:00
Yuri Astrakhan
68820277af API continue param to streamline iteration of complex queries
Greatly simplifies query result iteration by the clients
by providing a mechanism to track sub-iterations (props in generated set)

Assuming the client has the param=>value dictionary with the original request
parameters, client will only need to perform this operation in their language
to get all results from the server regardless of what query they make.

  $request = array_merge( $request, $result['continue'] );

Related changes:
* Moved dieContinueUsageIf() from ApiQueryBase to ApiBase
* Internal calls will also return unused param warnings
* Reworked query unit tests for easier testing

Change-Id: Ieb45241fc6db2109f1d92fa3381165ec30701b63
2013-03-01 19:06:46 -05:00
jenkins-bot
ea77ca659d Merge "testInvalidEmail() passes now without local config" 2013-03-01 23:11:06 +00:00
jenkins-bot
7027ba7e93 Merge "Remove DB2 support" 2013-03-01 22:00:46 +00:00
Platonides
d962a0be64 testInvalidEmail() passes now without local config
ApiAccountCreationTest::testInvalidEmail() no longer
needs LocalSettings to have $wgEnableEmail = true;

Change-Id: I97803be116fda8194e46fe0021c7b32d7b703b1d
2013-03-01 22:50:59 +01:00
jenkins-bot
e15352ba5c Merge "(Bug 44192) Do not attempt to send a real e-mail" 2013-03-01 18:56:21 +00:00
C. Scott Ananian
2c56e3b087 Add 'parsoid' option to parserTests.txt.
Rather than overload the 'disabled' option, explicitly mark Parsoid-only
parser tests with "parsoid" in the options field.  These are disabled
by default when the PHP parser tests are run (but you could explicitly
enable them with --run-parsoid if you wished, in the same way that you
can enable other disabled tests with --run-disabled).

Document the 'php' option, which the PHP parser tests will ignore, but
will (in the future) be used to mark php-only tests which should be
ignored by the Parsoid parser.

Tweaked 'disabled' option to 'parsoid' for those tests which explicitly
call themselves parsoid-only.  I was conservative in this patch; if
the title of the test didn't explicitly mention Parsoid, I left the
test disabled rather than switch it to parsoid.

Change-Id: Id6c396f7966fcb21c1e54e222ab0c9f4e3a34dcc
2013-02-28 18:42:37 -06:00