/** * @param string $saveMethod * @param string $iniValue * @dataProvider sessionSaveMethodDataProvider */ public function testSessionSaveMethod($saveMethod, $iniValue) { $this->markTestIncomplete('Bug MAGE-5487'); // depending on configuration some values cannot be set as default save session handlers. // in such cases warnings will be generated by php and test will fail $origErrorRep = error_reporting(E_ALL ^ E_WARNING); $origSessionHandler = ini_set('session.save_handler', $iniValue); if ($iniValue && ini_get('session.save_handler') != $iniValue) { ini_set('session.save_handler', $origSessionHandler); error_reporting($origErrorRep); $this->markTestSkipped("Can't set '{$iniValue}' as session save handler"); } ini_set('session.save_handler', $origSessionHandler); Mage::getConfig()->setNode(Mage_Core_Model_Session_Abstract::XML_NODE_SESSION_SAVE, $saveMethod); /** * @var Mage_Core_Model_Session_Abstract_Varien */ $model = new Mage_Core_Model_Session_Abstract(); //There is no any possibility to determine whether session already started or not in php before 5.4 $model->setSkipEmptySessionCheck(true); $model->start(); if ($iniValue) { $this->assertEquals(ini_get('session.save_handler'), $iniValue); } ini_set('session.save_handler', $origSessionHandler); error_reporting($origErrorRep); }