The parameters $exportactiveurl and $importactiveurl are removed from
export_action_bar and import_action_bar classes. Not only passing them
were redundant and it was possible to generate them by having
$activeplugin (also passed to the mentioned class constructors), but
also we had a bug there. The value of $PAGE->url was passed as those
parameters, but $PAGE->url can sometimes include additional parameters
and as a result, its value may not match any of the available
export/import plugins.
This commit introduces a new partial selector for select_menu fields,
and teaching the field manager how to recognise these, then introducing
a new field type which can handle setting values for this field.
Implement stress tester methods for iterating over report columns,
aggregation and conditions. Assert that each works correctly in
isolation, and when used in conjunction with other columns.
With IANA TZDB (timezone database) release 2022b, Europe/Kiev
has been renamed to Europe/Kyiv. So we need to add this string
to our list to keep tests passing.
Note that the old Europe/Kiev continues working (is an alias) and,
also, there are places in core where we are using it. Just we cannot
remove/replace those uses in core until we ensure that everybody is
using PHP 8.0.23 (TZDB 2022b) or more recent versions. Hence,
not changing those uses now.
Oracle 21 performs worse than previous versions and this
is causing some tool_httpsreplace jobs to, near consistently,
fail with timeouts.
This can be workaround in a number of ways:
1) Hacking tool_httpsreplace to detect when it's running a
behat test and avoid running it completely. We did something
like that for tool_customlang in the past. Ugly exception.
2) For Oracle jobs, set BEHAT_INCREASE_TIMEOUT to 2 or higher, that
will allow the whole behat run to have more time. Maybe too much
if only the tool_httpsreplace scenarios are affected. And requires
special configuration in sites running the tests.
3) Improve Oracle 21 performance. There are some remaining tests to
perform to achieve that, but it's extremely slow process, so it
won't happen soon.
4) Give more time to the failing tests using the step: "I mark this
test as slow setting a timeout factor of X". It applies to all
databases, but we are already using it, so no big problem. It's the
same than solution 2) but from within the tests instead of affecting
to the whole run.
From all the alternatives above, this patch implements 4), doubling
(from current 2 to 4), to give each test up to two minutes
(30 secs * 4 = 120 secs) with the new allowed timeout-factor.
The uniqueidentifier argument is only needed by the version selector and
can be set within the output fragment function using it. There's no need
for it to be a parameter when calling the output fragment function.