Having pig-latin enabled per default in dev environments is convenient
for manual testing. More importantly, it will allow us to write
end-to-end tests for variant conversion.
Depends-On: I9dc2f743ac487b0f7cfb667150c0f6950d5e7fce
Depends-On: I85b66c85be3959d48a048733af17197bc4cf70af
Change-Id: Ia80ad33cbf5e311fa8b84bd765a8df8d156f4c38
The tests for size limits did not catch an issue introduced by
If09afc4b933e, which caused resource limits to trigger early, since they
were now being compared to the size in bytes, rather than characters.
The reason the tests didn't protect us is threefold:
- They only check the error returned when the resource sizes is one over the limit.
They don't check that the error is NOT returned when the size is one under the limit.
- They did not test with a multi-byte character.
- They were disabled, because the limits are quite high, and the e2e test can not change them.
This patch is an attempt to fix all three issues.
Depends-On: I40901a1204b3c698895a836bf3b605239878d1fe
Change-Id: I2aead24cb7f47eb1267fdd2954a7c7e45dd4ed51
The benefit of this setting was largely lost due to wfDebug() having
been replaced with calls to Logger->debug() for much of our code.
This is motivated by making ResourcLoader debug=2 able to make
its concurrent load.php requests more quickly during local dev.
This effectively reverts T49960. I was wrong there, thinking that
this variable has no reason for being. The vast majority of the time,
these aren't of interest on subresource requests. It's trivial
to enable when wanted, and any non-debug level messages still come
through either way, including PHP runtime errors, exceptions,
warnings, etc.
This seems to make load.php about 50% faster for local development
when using mediawiki-docker.
I used `ab` to perform a load.php request 300 times. The mean was
320-360ms before this patch (with and without DebugRawPage=false),
and around 120-140ms with patch (with DebugRawPage=false, default).
Bug: T85805
Bug: T225730
Change-Id: I061419adebf43e83cd0103bdb9b7a3296a2a1122
This reverts commit 17bab86e7a.
Extension failures (ref T304625) have since been fixed.
Bug: T225730
Change-Id: Ia452e076bdce45f1151f970c16837b80813ee08a
Make phan stricter about scalar types by setting scalar_implicit_cast to
false (the default in mediawiki-phan-config)
Bug: T242536
Bug: T301991
Change-Id: Ia2fe30b17804186571722e728578121c8b75d455
Enabling this setting will cause post-send deferred updates to be run
before a response is sent to the client, so the client can observe all
effects of their last request immediately.
This resolves a problem with some end-to-end tests that were failing
because the updates caused by one request had not landed in the database
by the time the subsequent request was made.
This patch re-enabled some e2e tests that were disabled because of this
problem. If $wgForceDeferredUpdatesPreSend works as intended, the tests
should again pass reliably.
Bug: T230211
Bug: T301100
Change-Id: I0e30fdb6acba85cec4bb1499f7063ba6bfb0ffb2
This was intended as a setting override to faciliate testing, not as
something that is experimental and may later become default.
Follows-Up: Ief9e724c84755248a6fccfd04abdd4b03e331a8e
Bug: T298735
Change-Id: I56e98926c7d857c0c221d3ffd9b3be0b4267b6ae
Seems to be needed to be able to run api-testing (and possibly also some
browser tests) in parallel in CI / locally.
Bug: T298735
Change-Id: Ief9e724c84755248a6fccfd04abdd4b03e331a8e
Switching rate limits completely off make tests bypass
an important code path. Instead, set all limits to almost
infinity - the code will still be executed, but with no
real chance that a test will exceed the limits.
Bug: T284804
Change-Id: Ic1d011f251159990fd54cb706608793d1b0a5acf
Any change to the extension's defaults would disrupt tests, so we
repeat the default here.
Bug: T270240
Change-Id: I84791ecf8c35f60b7d2cc337d67572bb422f0ea5
This allows browser tests to access the "new wikitext" mode, but
should not affect any tests which don't explicitly enable the
associated beta preference.
Bug: T270240
Change-Id: I2ba889e1a5dd03549d8d7cb00678a30882ff03fe
- Uses new stretch-php72-jobrunner from dev-images
- Removes TimedMediaHandler-specific resource limits from general
DevelopmentSettings.php, as we're putting these in the container
PlatformSettings.php from docker entrypoints.
Bug: T246935
Bug: T246942
Depends-On: I505366b287f75581a5dd8016abbedfe61f53cb13
Change-Id: I4b4061d9cd877af34606c914942cfe0be028fff8
New configuration variable $wgRestAPIAdditionalRouteFiles
allows specifying additional Core REST API route files to
include. The initial use is to include development routes
from new file coreDevelopmentRoutes.json only on testing
wikis, but not on production wikis.
Bug: T247997
Change-Id: Iff8a9b7f4cafb29162e9b10f3d32e2a85f6f58df
Otherwise, require DevelopmentSettings.php in LocalSettings.php leads to an
error because LCStoreStaticArray attemps to write to the root directory.
Bug: T246547
Change-Id: I4b466cea2c830aed85e9df9f4ddd01b6997e1c45
These used to be in the 'exception' channel but were separated out
to better categorise them in Logstash, but this meant we regressed
in terms of CI enforcement because they weren't enabled (they only
went to the debug file), and thus Jenkins didn't fail the build
if they were non-empty.
To avoid having to keep this in sync with the Jenkins job config,
standardise on a single file (mw-error.log), which the job already
asserts as having to be empty/non-existent.
Change-Id: I432682c082f77d9a6ec2ea07539c2a3e41ea1340
Follows-up 5a090c2982. This is no longer needed as of
7e0fb4fff6, which will add this to the generated LocalSettings.php
file automatically.
The installer now sets MainCacheType for CLI installs, the same
way as the web installer did already.
The secondary cache types have as default CACHE_ANYTHING (not
CACHE_NONE) and will automatically inherit from MainCacheType.
This commit unbreaks situations where developers have MainCache
set to something (e.g. Redis, or Memc) which after 5a090c2982
caused other types to go to APC instead of Memc.
Bug: T225496
Change-Id: Ib2824a6d316912daf09672de748726b91e4de449
Some globals where declared but not used and $wgSQLMode was not declared
at all. Removed the unsed vars.
Change-Id: I44e6b8b6173674089271a172cf7bda6e320c53d8
Pass sql_mode=TRADITIONAL to the SQL connection which would raise an
error instead of warning, for example when a field is truncated.
This change will most probably cause some extensions test to start
magically failling.
Bug: T119371
Change-Id: I2051952090e48876f629690981e25603eff79f67
Clarify and simplify exception output by deprecating
$wgShowSQLErrors and wgShowDBErrorBacktrace.
$wgShowExceptionDetails will now control most related output.
$wgShowHostnames will now solely control output of
MWExceptionRenderer::reportOutageHTML.
Bug: T165768
Change-Id: Idead2c11c499463dfa6293c3d4b33be3bde92e1a
Follows-up fdb7d36903. It seems these make unit tests on Travis CI
fail, per T187581. And when we briefly enabled DevelopmentSettings.php
in our Jenkins setup, the PHPUnit tests also failed.
Remove these from DevelopmentSettings.php to confirm that the
tests pass that way. Then, once our own Jenkins setup has switched
back to using DevelopmentSettings.php, we can re-consider adding
these in a way that is verified by Gerrit/Jenkins before merging.
Bug: T187581
Change-Id: Ib81c5909849598bdad02955f6414d68c038742c5
* Store in the includes/ directory.
* Use by default in Travis CI builds.
* Add command-line option to phpunit.php to use it.
* See commit ## for use by Jenkins jobs, which will load it directly
from LocalSettings.php (instead of via phpunit) so that it applies
to web entry points and other maintenance scripts as well.
Bug: T177669
Change-Id: I6e5dc5f0dddc1960761980552ed2bb31e6ae9fd9