66 Commits

Author SHA1 Message Date
Sam Hemelryk
d6abe6f744 Merge branch 'MDL-48194-master' of git://github.com/andrewnicols/moodle 2014-11-17 13:39:03 +13:00
Andrew Nicols
14ecbb2ee8 MDL-48196 phpunit: Set e-mail address for admin user at installation 2014-11-13 08:47:43 +08:00
Andrew Nicols
a9edd8a671 MDL-48194 testing: Adjust naming of testsuites in phpunit.xml
This will make it easier to run phpunit for a specific component by making
all testsuite names consistent, guessable, and in-line with the naming of
the parameter (testsuite vs. test suite).
2014-11-12 11:46:03 +08:00
Petr Skoda
ddffa9d6d3 MDL-47538 phpunit: fix invalid PHPUNIT_SEQUENCE_START constant 2014-10-06 17:31:15 +13:00
Russell Smith
9462323b13 MDL-46193 phpunit: Replace value in component config.
There are two phpunit.xml build locations, one for overall
and another for individual components.  To reduce id changes
when running different components, we use the same initial ID
in all component files when building.
2014-07-10 09:53:23 +02:00
Russell Smith
529495f7ce MDL-46193 phpunit: Use random starting value on initialization. 2014-07-04 16:33:13 +10:00
Petr Skoda
2e00d01db4 MDL-46099 session: fix use of references for session globals
This reverses the references used for global $USER and $SESSION,
the reason is that PHP does not allow references to references.
$USER is a reference to $GLOBALS['USER'] which means we cannot
put any references to it. Solution is to store the current user and session
objects in $GLOBALS['USER'] and $GLOBALS['SESSIOn'] are reference
them in $_SESSION.

This patch makes the session code behave the same way in CLI,
phpunit and normal web requests - this allows use to finally
unit test most aspects of the session code in Moodle.
2014-07-01 08:38:00 +12:00
Rajesh Taneja
6b8e46ad04 MDL-45565 core_message: Reset internal users in phpunit 2014-05-26 15:42:12 +08:00
Damyon Wiese
84f08cfa9d MDL-45606 Unit test fix for MySQL and added a comment about the removed code. 2014-05-20 18:01:32 +08:00
Damyon Wiese
726b011050 MDL-45605 Phpunit: Do not call gc_collect_cycles as part of reset.
This takes 25% of the time in running tests and there is no benefit. The
behaviour of destructors is the same before/after the patch.
2014-05-19 10:37:16 +08:00
Petr Skoda
a9236a2c3f MDL-45287 fix behat database reset between scenarios
We cannot find out if DB received any writes because behat
web access runs in different request.

This was affecting only scenarios without generators.
2014-04-28 17:02:58 +08:00
Eloy Lafuente (stronk7)
630bb85d9e MDL-43266 testing: avoid assoc arrays for json
Last commit switched from raw arrays to associative
arrays. That leads to json_encode() to generate an
object instead of an array, ultimately leading to
problems with the rest of code expecting an array.

By using array_values() we are moving back to the
non-associative array.

Also, fix some file permissions.
2014-03-13 22:11:03 +01:00
Eloy Lafuente (stronk7)
1700bec3c6 Merge branch 'MDL-43266_master-last-fixes' of git://github.com/dmonllao/moodle
Conflicts:
	lib/phpunit/classes/util.php
2014-03-13 19:12:25 +01:00
Petr Škoda
770eac9805 MDL-41269 disable all logging during phpunit testing 2014-02-28 14:52:26 +08:00
Jerome Mouneyrac
c78f19d153 MDL-43266 Testing sites are cleaning all test dataroot contents 2014-02-25 14:47:25 +08:00
David Monllao
7514c2f282 MDL-42842 testing: Generalization of the site info 2013-11-26 10:48:29 +08:00
Sam Hemelryk
f18f96f767 Merge branch 'wip-MDL-42016-master' of git://github.com/marinaglancy/moodle
Conflicts:
	lib/db/install.xml
	lib/db/upgrade.php
	version.php
2013-10-09 15:58:45 +13:00
Petr Škoda
e87214bda7 MDL-42078 multiple uninstall improvements and cleanup
Includes:
* update checker refactored to \core\update\ namespace
* plugininfo classes refactored to \core\plugininfo\ namespace
* plugin_manager renamed to core_plugin_manager
* redirect back to original page after plugin uninstall
* fixed assign subplugin uninstall
* move assign subplugins under the assignment in admin tree
* fixed plugininfo for all question related plugin types
* auth uninstall support
* added missing block dependencies
* added theme uninstall
* subplugin types are following the plugin on plugin overview page
* several performance improvements in plugin manager
* new warnigns when plugininfo are outdated or missing
* multiple fixes and other improvements
2013-10-07 13:10:36 +02:00
Marina Glancy
873555604f MDL-42016 repository: Simplify API to sync external files
Too many functions, too different parameters, unnecessary DB queries.
All repositories developed for Moodle 2.3-2.5 will continue to work.

Also get rid of DB field files_reference.lifetime, it is not used by
anybody except repository itself.
2013-10-06 18:05:09 +11:00
Sam Hemelryk
52dc898d16 Merge branch 'MDL-41228_master' of https://github.com/totara/openbadges 2013-10-01 13:37:44 +13:00
Petr Škoda
d79d5ac276 MDL-31501 rework user session architecture
List of changes:
 * New OOP API using PHP namespace \core\session\.
 * All handlers now update the sessions table consistently.
 * Experimental DB session support in Oracle.
 * Full support for session file handler (filesystem locking required).
 * New option for alternative session directory.
 * Official memcached session handler support.
 * Workaround for memcached version with non-functional gc.
 * Improved security - forced session id regeneration.
 * Improved compatibility with recent PHP releases.
 * Fixed borked CSS during install in debug mode.
 * Switched to file based sessions in new installs.
 * DB session setting disappears if DB does not support sessions.
 * DB session setting disappears if session handler specified in config.php.
 * Fast purging of sessions used in request only.
 * No legacy distinction -  file, database and memcached support the same functionality.
 * Session handler name included in performance info.
 * Fixed user_loggedin and user_loggedout event triggering.
 * Other minor bugfixing and improvements.
 * Fixed database session segfault if MUC disposed before $DB.

Limitations:
 * Session access time is now updated right after session start.
 * Support for $CFG->sessionlockloggedinonly was removed.
 * First request does not update userid in sessions table.
 * The timeouts may break badly if server hosting forces PHP.ini session settings.
 * The session GC is a lot slower, we do not rely on external session timeouts.
 * There cannot be any hooks triggered at the session write time.
 * File and memcached handlers do not support session lock acquire timeouts.
 * Some low level PHP session functions can not be used directly in Moodle code.
2013-09-21 13:11:56 +02:00
Yuliya Bozhko
ed23ad31c7 MDL-41228 phpunit: Reset message processors list in unit tests 2013-09-03 17:43:53 +12:00
Sam Hemelryk
93564564e4 Merge branch 'MDL-41196-m' of git://github.com/andrewnicols/moodle 2013-08-21 09:56:16 +12:00
Dan Poltawski
6f44a73369 Merge branch 'w33_MDL-39474_m26_debugdeveloper' of https://github.com/skodak/moodle
Conflicts:
	lib/upgrade.txt
2013-08-20 11:42:03 +08:00
Andrew Nicols
1aba6b2b4d MDL-41196 Unit Tests: Add a phpmailer message sink 2013-08-15 13:58:51 +01:00
Petr Škoda
96f81ea385 MDL-39474 introduce $CFG->debugdeveloper and cleanup $CFG init 2013-08-12 13:01:47 +02:00
Petr Škoda
c5701ce7d4 MDL-41086 rework detection of necessary upgrades 2013-08-08 21:11:40 +02:00
Petr Škoda
2f1e464a88 MDL-40438 migrate all collatorlib:: and textlib:: uses 2013-08-06 21:04:35 +02:00
Petr Škoda
62401e8fd5 MDL-39846 implement event sink for unit testing 2013-07-19 08:43:29 +02:00
Petr Škoda
d8a1f4263a MDL-39846 implement new event dispatching and base event class 2013-07-19 08:43:27 +02:00
Petr Škoda
bd3b3bba9f MDL-40220 use new core_component::get_plugin_list() 2013-07-16 22:36:11 +02:00
Petr Škoda
46f6f7f224 MDL-40220 use new core_component::get_plugin_types() 2013-07-16 22:31:48 +02:00
Jamie Pratt
596ea56f6b MDL-40388 Reset globals after each unit test 2013-07-09 12:26:28 +08:00
Petr Škoda
71fc50031d MDL-38989 detect changed timeout in tests
The trouble is that PHPUnit should ideally test mostly low level libraries that should not change the timeouts.
2013-04-10 09:48:57 +02:00
Petr Škoda
70faad655a MDL-38912 fix incorrect timeout reset 2013-04-10 00:06:34 +02:00
Tim Hunt
82081c1f7d MDL-38912 prevent time-outs during unit tests. 2013-04-05 18:37:25 +01:00
Petr Škoda
15bac12e9d MDL-37783 add some useful information to any phpunit output 2013-03-23 00:06:39 +01:00
Marina Glancy
73a0f3ba76 MDL-33774 Reset filters caches between unit tests 2013-02-14 19:46:19 +11:00
Dan Poltawski
77ea8340de Merge branch 'MDL-37458_master' of git://github.com/dmonllao/moodle 2013-01-21 11:14:38 +08:00
Dan Poltawski
73ce4ac996 Merge branch 'MDL-37457_master' of git://github.com/dmonllao/moodle 2013-01-21 10:53:12 +08:00
David Monllao
0ea35584ae MDL-37458 testing common methods generalization 2013-01-18 09:17:30 +08:00
David Monllao
f822840223 MDL-37458 testing tests finder externalization 2013-01-17 15:15:27 +08:00
Sam Hemelryk
e17dbeeb1a MDL-34398 groups: implemented caching of group information. 2013-01-17 09:24:58 +13:00
David Monllao
3f7211f45a MDL-37458 testing lock externalization 2013-01-16 13:43:25 +08:00
David Monllao
5c3c2c81be MDL-37457 testing Refactoring references 2013-01-15 11:07:43 +08:00
David Mudrák
dc11af1903 MDL-35238 Add support for explicit singleton reset
This may be needed during PHPUnit testing.
2012-11-08 22:33:08 +01:00
Petr Škoda
9854743221 MDL-36199 reset plugin manager singletons 2012-10-25 00:55:10 +08:00
Dan Poltawski
f186ad1f90 Merge branch 'wip-MDL-35339-master' of git://github.com/marinaglancy/moodle 2012-10-15 17:19:44 +08:00
Aparup Banerjee
de5a44eb3a Merge branch 'w42_MDL-36031_m24_messagesink' of git://github.com/skodak/moodle 2012-10-15 14:36:02 +08:00
Marina Glancy
b46be6adf4 MDL-35339 Better cache reset for get_fast_modinfo(), allow exec get_fast_modinfo($courseid) 2012-10-15 14:08:15 +08:00