1
0
mirror of synced 2024-12-05 03:06:05 +03:00
doctrine2/tests
nclavaud b492d61398 Update identityMap when entity gets managed again
http://www.doctrine-project.org/jira/browse/DDC-3619

When using SoftDeleteable doctrine extension, an entity can be scheduled
for deletion, then persisted before flushing. In such a case, the entity
was removed from the unit of work identity map and no reference was
hold. This could lead to spl_object_hash collisions, and prevent
another, new entity to be persisted later.

This fix makes sure the unit of work identity map holds a reference to
the entity after it has been soft-deleted.
2015-03-17 22:19:10 +00:00
..
Doctrine/Tests Update identityMap when entity gets managed again 2015-03-17 22:19:10 +00:00
travis remove temporary database dependencies from Travis build 2015-01-27 09:44:06 +01:00
.gitignore Fix Testsuite to work with Git 2010-04-07 20:47:53 +02:00
dbproperties.xml.dev Fixed typos 2013-03-11 00:08:58 +00:00
README.markdown Added Gearman Lock Test and Worker, verified lockings indeed works on MySQL, PostgreSQL and Oracle 2010-05-02 13:04:25 +02:00

Running the Doctrine 2 Testsuite

Setting up a PHPUnit Configuration XML

..

Testing Lock-Support

The Lock support in Doctrine 2 is tested using Gearman, which allows to run concurrent tasks in parallel. Install Gearman with PHP as follows:

  1. Go to http://www.gearman.org and download the latest Gearman Server
  2. Compile it and then call ldconfig
  3. Start it up "gearmand -vvvv"
  4. Install pecl/gearman by calling "gearman-beta"

You can then go into tests/ and start up two workers:

php Doctrine/Tests/ORM/Functional/Locking/LockAgentWorker.php

Then run the locking test-suite:

phpunit --configuration <myconfig.xml> Doctrine/Tests/ORM/Functional/Locking/GearmanLockTest.php

This can run considerable time, because it is using sleep() to test for the timing ranges of locks.