From 6bbbf8536f6d5d21eed906c42da1e12118e4112e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Mon, 17 Mar 2014 21:57:10 +0100 Subject: [PATCH] introduce reopen() method to be used for unit test execution only - right after a unit test has been executed the session will be reopened --- lib/private/session/memory.php | 7 +++++++ tests/startsessionlistener.php | 11 ++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/private/session/memory.php b/lib/private/session/memory.php index 8434b6000e..1497c0f892 100644 --- a/lib/private/session/memory.php +++ b/lib/private/session/memory.php @@ -63,6 +63,13 @@ class Memory extends Session { $this->data = array(); } + /** + * Helper function for PHPUnit execution - don't use in non-test code + */ + public function reopen() { + $this->sessionClosed = false; + } + /** * In case the session has already been locked an exception will be thrown * diff --git a/tests/startsessionlistener.php b/tests/startsessionlistener.php index 7559b8cff6..808a2a2226 100644 --- a/tests/startsessionlistener.php +++ b/tests/startsessionlistener.php @@ -27,11 +27,12 @@ class StartSessionListener implements PHPUnit_Framework_TestListener { } public function endTest(PHPUnit_Framework_Test $test, $time) { - // new session - \OC::$session = new \OC\Session\Memory(''); - - // load the version - OC_Util::getVersion(); + // reopen the session - only allowed for memory session + if (\OC::$session instanceof \OC\Session\Memory) { + /** @var $session \OC\Session\Memory */ + $session = \OC::$session; + $session->reopen(); + } } public function startTestSuite(PHPUnit_Framework_TestSuite $suite) {