85 Commits

Author SHA1 Message Date
Eloy Lafuente (stronk7)
51bc492569
MDL-81266 composer: PHPUnit 9.6, Behat to 3.14 and other deps
Bump to PHPUnit 9.6 towards warning in advance about
stuff that will be removed for PHPUnit 10, namely:
 - expect[Deprecation|Error|Notice|Warning] methods.
 - assert[Object|Class][Not]Has[Static]Attribute methods.
 - withConsecutive()
 - TestCase::getMockClass()
 - "Test" suffix for abstract test case classes.

The behat bump is only applied to 402_STABLE and up, all them
requiring PHP 8.0 as a minimum. And generated following the
instructions in the dev docs.
2024-03-25 14:33:34 +01:00
Eloy Lafuente (stronk7)
03d75e4f8d
MDL-80313 composer: Bump composer stuff to use php81 as minimum
It seems that in MDL-78496 we missed to regenerate the
composer stuff using the new PHP 8.1 requirement.

This commit addresses exactly that, following the instructions:

https://moodledev.io/general/development/tools/composer#how-to-prepare-and-submit-composer-changes

Note it comes with a few updated components:
- friends-of-behat/mink-extension 2.7.4
- oleg-andreyev/mink-phpwebdriver 1.3.1

And a bunch of second (and deeper) level dependencies updated too.
2024-01-05 18:57:47 +01:00
Andrew Nicols
eddae1808b
MDL-79974 core: Add Whoops when debugging
Whoops will only be used under the following conditions:

- Not an AJAX request
- Not a CLI usage
- debugdisplay is set
- composer dependencies are installed
- Whoops is available
- The configuration setting is enabled
2023-11-05 21:23:18 +08:00
Eloy Lafuente (stronk7)
11b7ff678d
MDL-78934 behat: Move from mink goutte to browserkit driver
In order to get compatibility with PHP 8.1 there are 2 options:

1) Move to the Goutte 2 mink driver, that uses Goutte 4.
2) Move to the BrowserKit mink driver.

While 1) could sound like the easier alternative, and that is
what we are doing right now, there are a few points to take into consideration.

a) Goutte 4 is a complete wrapper over BrowserKit. 100%. See its
   source code: https://github.com/FriendsOfPHP/Goutte/blob/master/Goutte/Client.php
b) The mink extension still doesn't support Goutte 4, but supports
   BrowserKit. See https://github.com/FriendsOfBehat/MinkExtension (PR#16)
   (we could workaround this by forking the package again)
c) Last, but not least, recently (June 2023) both the MinkGoutteDriver
   and Goutte itself have been archived/abandoned:
   - https://packagist.org/packages/behat/mink-goutte-driver
   - https://packagist.org/packages/fabpot/goutte

So, given the points above, this is an attempt to move away
completely from Goutte and straight use the BrowserKit alternative
that, in practice, is the very same code that we are already using
(you can see that, in the .lock changes there isn't any new thing
being installed, because, as said, we are using it already).

Let's see how complex it is, I imagine it won't be hard. Surely killing
all references everywhere about Goutte will be the most complex task.
2023-08-18 13:59:17 +02:00
Eloy Lafuente (stronk7)
43f39e52e7
MDL-78800 composer: Bump dependencies to current ones
This bumps direct dependencies to current ones:

- phpunit: 9.5.x No updates here, there is the 9.6.x series
  available but a lot of deprecation warnings have been
  introduced there without any alternative to use. See:
  - https://github.com/sebastianbergmann/phpunit/issues/5160
  - https://github.com/sebastianbergmann/phpunit/issues/5062
  - ...
  While that will be handy to prepare ourselves to PHPUnit 10
  in some months... we cannot force everybody to jump to 9.6.x
  because that will make a lot of tests to start emitting
  warnings.
  So we stay with PHPUnit 9.5.x for the life of this branch.
- mink-phpwebdriver: 1.2.1 No updates here, just changed the
  constraint because we cannot advance to 1.3.x yet, there is
  a change there causing some app tests to fail. See:
  - https://github.com/oleg-andreyev/MinkPhpWebDriver/pull/81
  So we stay with 1.2.x until that issue is fixed/clarified,
  only then we'll review the status.
- behat: 3.12.x => 3.13.x

And also, automatically, a bunch of 2nd and deepest dependencies.

Generated with php80 that is the lowest php version supported
by this branch and, also, by some of the dependencies, as per
documented @ https://moodledev.io/general/development/tools/composer

Worth mentioning behat/mink-goutte-driver, that we should move
to mink-browserkit-driver, but that's out from this issue scope.
2023-08-04 15:08:45 +02:00
Eloy Lafuente (stronk7)
93406bd4f1 MDL-74905 composer: Regenerate with php80 and requirements raised
Now that the required PHP version has been raised to php80, set
it in the composer.json file and regenerate everything, following
the instructions @ https://docs.moodle.org/dev/Composer .

The only changes, as agreed in the issue are:
- Raise min PHP version to 8.0 (from 7.4).
- Make the php-sodium extension required (was optional).
- Small behat/behat bump to 3.12.0 (from 3.11.0)
2023-02-03 19:48:02 +01:00
Eloy Lafuente (stronk7)
9e58ce1182 MDL-76429 composer: Bump to phpwebdriver 1.2.1 for php81 compat
Note this comes with a bunch of other small updates, all them
pretty minor and should not be problematic. Better we get them
than keeping them apart.
2022-11-26 16:16:25 +01:00
Eloy Lafuente (stronk7)
df227f3819 MDL-76052 webservice_xmlrpc: Remove it completely from core
Normal removal procedure:
  - Remove the plugin completely from core.
  - Document it in the webservices upgrade.txt file.
  - Add a core upgrade step to proceed to remove any configuration
    if the plugin has not been re-installed manually.

Plus:
  - Remove a few remaining uses in the hub/sites registration scripts,
    that were moved from xmlrpc to hand.made rest calls by MDL-31436
    (Moodle 3.4.1 and up) and never removed then.
  - Remove the php-xmlrpc extension as a recommendation in composer.
  - Remove "xmlrpc" from various comments, trivial cleanup.

Note:
  - While working on this MDL-76078 has been created about to
    fix a serious design problem detected (it does not affect
    functionality). That's out from this issue scope.
2022-11-04 16:49:52 +01:00
Eloy Lafuente (stronk7)
8f606d9299 MDL-76016 behat: Bump to goutte-driver 2.x
This automatically comes with Goutte client 4.x that is
the one we want to, also, update.

It should work 100% the same and comes with some php81
warnings cleaned.
2022-10-18 14:27:42 +02:00
Eloy Lafuente (stronk7)
ef63a08b73 MDL-75776 composer: Move to upstream mink-extension and updates
We were using our fork of the mink extension:

https://github.com/moodlehq/MinkExtension.git

Because they bumped requirements to PHP 7.4 too early for us. Now,
with Moodle 4.1, finally our requirements are also PHP 7.4, so we
can stop using the fork and switch to the upstream one:

https://github.com/FriendsOfBehat/MinkExtension

Note this only can be done in 4.1dev, because this is the first
version using PHP >= 7.4. Older branches will need to continue
using the fork. Also, note that we may need to go back to the
fork if there is any future trouble with the upstream library
not matching our supported PHP versions.

Apart from that, it's a good moment to bump other components to
current ones.

Of course, this has been generated following the instructions:

https://docs.moodle.org/dev/Composer

And using PHP 7.4 (always the min version supported) to generate
the lock file.
2022-09-22 17:44:33 +02:00
Eloy Lafuente (stronk7)
f678a20463 MDL-71747 composer: Regenerate with php74 and requirements raised
Now that the required PHP version has been raised to php74, set
it in the composer.json file and regenerate everything, following
the instructions @ https://docs.moodle.org/dev/Composer, also
with php74.

That's the only change (raised php version) as far as no change
has been performed to extension.
2022-07-07 19:16:37 +02:00
Eloy Lafuente (stronk7)
6f982726fe MDL-73711 behat: Bump to Behat 3.10.x
Generated with php73, following the instructions at:

https://docs.moodle.org/dev/Composer

Note this also comes with a minor PHPUnit bump to 9.5.13.
2022-01-29 16:04:11 +01:00
Petr Skoda
2e95fabd95 MDL-73272 behat: move behat extension to core 2021-12-31 09:59:18 +13:00
Petr Skoda
8954a607fe MDL-73269 dev: add requirements to composer.json 2021-12-23 07:23:33 +13:00
Eloy Lafuente (stronk7)
72f838ad96 MDL-71622 behat: use own fork of friends-of-behat/mink-extension
Upstream behat/mink-extension isn't updated since 2018.

So we switch to friends-of-behat/mink-extension until
upstream situation is clarified.

But friends-of-behat/mink-extension has some PHP8 issues
that, at the time of writting this, have not been solved:

- https://github.com/FriendsOfBehat/MinkExtension/pull/9

So we are temporarily changing to one fork:

https://github.com/moodlehq/MinkExtension

Whenever those issues are solved by friends-of-beha or behat
we will change back to them and remove our fork.

Generated with composer 2.x and PHP 7.3
2021-05-27 19:42:14 +02:00
Eloy Lafuente (stronk7)
10c2aa7122 MDL-71036 phpunit: Bump to phpunit 9.5.x 2021-03-11 19:22:23 +01:00
Eloy Lafuente (stronk7)
d0def28ed5 MDL-70879 behat: Bump to Behat 3.8.x (required for php80) 2021-02-19 14:49:11 +01:00
Andrew Nicols
007389b214 MDL-66979 behat: Switch to new W3C Behat driver
This commit updates the composer dependencies to make use of the updated
version of moodlehq/moodle-behat-extension which depends upon the
php-webdriver/webdriver and relevant Mink WebDriver.
2021-01-22 14:52:09 +08:00
Eloy Lafuente (stronk7)
bdc3ad00c9 MDL-67673 phpunit: Bump to PHPUnit 8.5 and remove DBunit
This makes everything to break, but it's what we'll be fixing
in the next commits, heh. :-)

Generated with php72 (min version supported), following the
instructions @ https://docs.moodle.org/dev/Composer
2020-10-21 12:45:59 +02:00
Eloy Lafuente (stronk7)
e3da0ef75d MDL-69146 composer: bump to moodle-behat-extension 3.400.0
Generated following the instructions @:

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes

(using php72)

Note that here we are jumping to 3-digit branches (for all branches > 39),
exactly how we have done for moodle.git branches (310, 311, 400, 401...)
2020-10-02 15:06:58 +02:00
Eloy Lafuente (stronk7)
98cc4d0445 MDL-68445 behat: Bump to 3.6.x
composer.lock generated with PHP 7.2, following:

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes

Also, ensure Symfony/Process > 4.0 compatibility
(needed for parallel runs)
2020-04-24 15:57:09 +02:00
Eloy Lafuente (stronk7)
5d0b046594 MDL-67317 behat: Bump to 3.39.2 moodle-behat-extension
It comes with behat/mink 1.8.x that provides php74 compatibility.

lock file generated with php72 (min version supported by the branch)
2020-04-16 20:28:49 +02:00
Eloy Lafuente (stronk7)
78999d9c41 MDL-67416 composer: bump to moodle-behat-extension 3.39.1
that version already requires php72. The lock file has been
created using that php72 version.
2019-12-20 17:18:51 +01:00
Andrew Nicols
7e50ca7645 MDL-66945 composer: Update behat extension
(using php71 for this branch)

This uses a new version of the moodlehq-behat-extension which ensures
that a node is visible and in the view port before it is clicked on.

This resolves an issue with Firefox on Ubuntu 18.04 whereby the node is
only brought into the viewport instead of clicked on.
2019-10-28 13:14:27 +01:00
Eloy Lafuente (stronk7)
0b5990ab60 MDL-66184 core: Update composer to apply for php 7.1.0 as min
With behat extension v3.38.2 we started requiring php 7.1.0
(same requirement than core 3.8.x). This bumps all the components
in the lock file to suit that requirement.

Generated with php 7.1.x.
2019-08-27 00:42:30 +02:00
Mathew May
3373a429d4 MDL-50733 core: Update composer to updated behat-extension 2019-07-19 16:06:34 +02:00
Eloy Lafuente (stronk7)
9954f5391d MDL-65817 behat: switch to forked repo towards php73 compatibility
It seems that https://github.com/instaclick/php-webdriver/pull/91
is being ignored (in fact the repository itself doesn't show much
activity). So we have decided to fork it and apply any fix able
to keep our (non-marionette) runs working.

Hopefully, soon, the new W3C drivers will be supported by our
behat->mink stack... and we'll be able to move to it (from current
JSonwire drivers). So all this will be hostory.
2019-06-06 19:51:01 +02:00
Eloy Lafuente (stronk7)
d8ddd509e8 MDL-65810 behat: Update master to use 3.38.0 behat extension tag 2019-05-30 20:48:26 +02:00
Eloy Lafuente (stronk7)
be81130189 MDL-65204 phpunit: update composer to use phpunit 7.5.x
To generate a new composer.lock for a given Moodle branch:
- Remove composer.lock
- Remove vendor
- Remove composer caches:
      php composer.phar clearcache
- Using lower PHP version supported (7.1.x for Moodle 3.7), update:
      php composer.phar update

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes
2019-04-03 10:39:19 +08:00
Jun Pataleta
9b0cb96d42 MDL-64725 composer: Use lowercase for package name of dev dependencies 2019-02-04 09:37:35 +08:00
Eloy Lafuente (stronk7)
91165842db MDL-64409 behat: Update master to use 3.37.0 behat extension tag 2018-12-20 12:28:17 +01:00
Eloy Lafuente (stronk7)
9a89adcb98 MDL-62620 behat: Update master to use 3.36.0 behat extension tag 2018-06-01 12:16:04 +02:00
Eloy Lafuente (stronk7)
20f808165b MDL-61678 phpunit: Bump to current / latest 6.5.x before major release 2018-03-18 23:40:02 +01:00
Eloy Lafuente (stronk7)
b26bc628cf MDL-61269 composer: better license GPL-3.0-or-later
Source: https://spdx.org/licenses/
2018-02-04 19:38:32 +01:00
Eloy Lafuente (stronk7)
35925a2c06 MDL-61269 behat-extension: bump to fix some caps & defaults 2018-01-24 22:20:33 +01:00
Eloy Lafuente (stronk7)
2fdd9eed54 MDL-60904 behat: Update master to use 3.35.0 behat extension tag 2017-11-26 20:27:00 +01:00
Eloy Lafuente (stronk7)
1322351b92 MDL-60611 phpunit: Bump phpunit to 6.4 and travis to use PHP72 2017-11-02 23:45:21 +01:00
Eloy Lafuente (stronk7)
bc4067bfae MDL-60298 composer: move to guzzle ^6.3 towards PHP 7.2 support 2017-09-30 10:30:12 +02:00
Eloy Lafuente (stronk7)
6308dad828 MDL-59075 behat: Update master to use 3.34.0 behat extension tag 2017-05-30 09:45:40 +02:00
Andrew Nicols
16a34ae189 MDL-46375 core_files: Split parts of file_storage into new file system
This change moves all operations which deal with the fetching/updating, or
setting of files from the file_storage class into a new file_system class.

A new file_system can be specified in the config.php and used to replace
all relevant methods in order to move the file system component to an
alternative solution.
2017-02-14 08:42:28 +08:00
Rajesh Taneja
bb5671c21e
MDL-57700 behat: Updated behat to 3.3.0 and fixed exception 2017-01-20 11:01:50 +08:00
Rajesh Taneja
ac6cacdfb1
MDL-57344 behat: Update master to use 3.33.0 behat extension tag 2016-12-12 09:23:33 +08:00
Rajesh Taneja
e57c0f41ad
MDL-56860 behat: Fixed moodle_list format and printer description 2016-11-11 07:47:34 +08:00
Rajesh Taneja
5483ef5c7d
MDL-56248 phpunit: Update phpunit to 5.5.6 2016-10-07 07:18:38 +08:00
Rajesh Taneja
f5d3befb72
MDL-55769 behat: Point to moodle-behat-extension 3.32.3 2016-10-03 11:50:51 +08:00
Rajesh Taneja
39515ba566
MDL-55380 behat: Fixed shared stats definition
Stats definition was being shared between
progress and moodle_progress format which
was causing double counting. Now they both
have there own stats counter definitions
2016-08-12 10:17:00 +08:00
Rajesh Taneja
ef1d90480d MDL-55091 phpunit: Use latest phpunit 5.4.x 2016-07-21 07:08:46 +08:00
Andrew Nicols
2110dead4f Merge branch 'wip-mdl-48114' of https://github.com/rajeshtaneja/moodle 2016-07-04 12:18:34 +08:00
Rajesh Taneja
481a5ee517 MDL-54589 behat: Update composer to point to new tag 2016-06-21 06:31:42 +08:00
Rajesh Taneja
ac22c86bed MDL-54899 behat: Tag for MOODLE 32 version 2016-06-13 07:26:51 +08:00