From f15062151d6781b9ef0bc98302dbae4be896e8c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be>
Date: Thu, 9 Feb 2017 12:50:02 +0100
Subject: [PATCH] Adding a define to turn PHP errors into fatal errors when
 testing with selenium

---
 include/php_setup.inc        | 5 ++++-
 include/variables_common.inc | 5 +++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/include/php_setup.inc b/include/php_setup.inc
index c7901d14e..3800f4036 100644
--- a/include/php_setup.inc
+++ b/include/php_setup.inc
@@ -259,7 +259,10 @@ function gosaRaiseError($errno, $errstr, $errfile, $errline)
 
   /* Flush in case of fatal errors */
   set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT);
-  if (preg_match('/^fatal/i', $errstr)) {
+  if (preg_match('/^fatal/i', $errstr) || (PHP_ERROR_FATAL == 'TRUE')) {
+    if (PHP_ERROR_FATAL == 'TRUE') {
+      $error_collector = str_replace('display: none;', '', $error_collector);
+    }
     echo $error_collector."</div>";
     flush();
     exit;
diff --git a/include/variables_common.inc b/include/variables_common.inc
index 709d88994..7e429fad1 100644
--- a/include/variables_common.inc
+++ b/include/variables_common.inc
@@ -75,4 +75,9 @@ define ("CONFIGRDN", "cn=config,ou=fusiondirectory,"); /*! Define FusionDirector
  */
 define ("PHP_MIN_VERSION", "5.4.0");
 
+/*!
+ * \brief Toggle crashing on PHP error, used for test suites
+ */
+define ('PHP_ERROR_FATAL', 'FALSE');
+
 ?>
-- 
GitLab