From 66b0cfe221667e8776c2244f8748e3eba2632ff4 Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Fri, 14 Oct 2011 19:37:20 +0200 Subject: [PATCH 1/2] [feature/functional-tests] Make sure functional tests only install once The functional test setup bootstrapping should only be run once per class. PHPBB3-10414 --- tests/test_framework/phpbb_functional_test_case.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index 18bf2a84a8..bae035e773 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -42,10 +42,10 @@ class phpbb_functional_test_case extends phpbb_test_case 'phpbb_functional_test_case' => array('config', 'already_installed'), ); - if (!self::$already_installed) + if (!static::$already_installed) { $this->install_board(); - self::$already_installed = true; + static::$already_installed = true; } } From d4189013ab3c6c9fca7fd79c3137888d169f1d60 Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Fri, 14 Oct 2011 19:41:19 +0200 Subject: [PATCH 2/2] [feature/functional-tests] Introduce bootstrap method PHPBB3-10414 --- tests/test_framework/phpbb_functional_test_case.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index bae035e773..73dfe74e45 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -34,6 +34,13 @@ class phpbb_functional_test_case extends phpbb_test_case return $this->client->request($method, $this->root_url . $path); } + // bootstrap, called after board is set up + // once per test case class + // test cases can override this + protected function bootstrap() + { + } + public function __construct($name = NULL, array $data = array(), $dataName = '') { parent::__construct($name, $data, $dataName); @@ -45,6 +52,7 @@ class phpbb_functional_test_case extends phpbb_test_case if (!static::$already_installed) { $this->install_board(); + $this->bootstrap(); static::$already_installed = true; } }