-
Bug
-
Resolution: Fixed
-
Major
-
2.8.1, 2.9
-
MOODLE_28_STABLE, MOODLE_29_STABLE
-
MOODLE_27_STABLE, MOODLE_28_STABLE
-
wip-mdl-48302
-
This is a followup of MDL-48251, where a "mysterious" interdependency between 2 tests was discovered (and fixed with a "nonsense" fix).
In any case, it demoed that, at some point, there are unwanted dependencies between tests, so they are not running 100% isolated.
This is about to detect what is causing isolation to fail and fix it. Note that it also may affect unit tests (if the problem is in some part of the "reset between tests" code).
To be able to reproduce the problem (only tried with Postgres here):
1. In master revert this (the "nonsense") commit: 7b9fb26
2. Edit "blocks/activity_modules/tests/behat/block_activity_modules.feature" and add the @isolated tag to it.
3. Edit "mod/quiz/tests/behat/editing_set_marks_with_attempts.feature" and add the @isolated tag to it.
4. Run behat with --tags='@isolated'
5. Failure happens and execution runs forever (it does not if the commit in point #1 is not reverted).
Posible points to review can be (note this is just a bet):
1) Some request/session/static MUC cache not being reset.
2) Some problem in generators incorrectly using static data.
3) Some problem with transactions, not properly closed or rolled-back incorrectly..
It would be great to, apart from the solution, provide some tests ensuring it does not happen anymore (behat or phpunit).
Ciao
Note: I've set only 2.8.1 and 2.9 as affected versions (to match MDL-48251)... but once discovered the culprit this surely should be extended to all supported versions.
- caused a regression
-
MDL-48517 behat: reset ordering reversed
-
- Closed
-
- has a non-specific relationship to
-
MDL-48308 phpunit and behat should use common reset_all_data functions
-
- Closed
-
- has been marked as being related by
-
MDL-48251 'In order to create a quiz that awards marks the way I want' feature is failing
-
- Closed
-