public function testSessionLocking()
{
$lockMaxWait = 2;
ini_set('max_execution_time', $lockMaxWait);
// The first time it will say it's locked, the second time
$this->redis->expects($this->exactly(2))->method('set')->with($this->equalTo('session_symfony_locktest.lock'), $this->isType('string'), $this->equalTo('PX'), $this->equalTo($lockMaxWait * 1000 + 1), $this->equalTo('NX'))->will($this->onConsecutiveCalls(0, 1));
// We prepare our handlers
$handler = new RedisSessionHandler($this->redis, array(), 'session', true, 1000000);
// The first will set the lock and the second will loop until it's free
$handler->read('_symfony_locktest');
}