From a136e90749812163b7464efae9d2aecfb27ec1d5 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Fri, 18 Dec 2015 21:56:00 +0100
Subject: [PATCH] Fix travis

---
 .travis.yml                              | 41 ++++++++++--------------
 htdocs/filefunc.inc.php                  |  7 +++-
 test/phpunit/AllTests.php                |  1 +
 test/phpunit/WebservicesProductsTest.php |  1 -
 4 files changed, 24 insertions(+), 26 deletions(-)
 mode change 100755 => 100644 test/phpunit/WebservicesProductsTest.php

diff --git a/.travis.yml b/.travis.yml
index c03bc61caf0..1753718b2c1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -33,7 +33,7 @@ services:
 env:
   global:
   # Set to true for very verbose output
-  - DEBUG=true
+  - DEBUG=false
   matrix:
   # MariaDB overrides MySQL installation so it's not possible to test both yet
   #- DB=mysql
@@ -140,22 +140,21 @@ before_script:
 
 - |
   if [ "$DEBUG" = true ]; then
-    echo "Debugging informations"
-    # Check PHP
-    php -i
-    # Check PHP CodeSniffer installation
-    which phpcs
-    phpcs --version
-    phpcs -i
-    # Check PHPUnit installation
-    which phpunit
-    phpunit --version
-    # Check MySQL
-    mysql --version
-    mysql -e "SELECT VERSION();"
-    echo
+	  # Check PHP
+	  php -i
+	  # Check PHP CodeSniffer installation
+	  which phpcs
+	  phpcs --version
+	  phpcs -i
+	  # Check PHPUnit installation
+	  which phpunit
+	  phpunit --version
+	  # Check MySQL
+	  mysql --version
+	  mysql -e "SELECT VERSION();"
+	  echo
   fi
-
+  
 - |
   echo "Setting up database"
   if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ]; then
@@ -172,8 +171,8 @@ before_script:
   echo
 
 - |
-  echo "Setting up Dolibarr"
   export CONF_FILE=htdocs/conf/conf.php
+  echo "Setting up Dolibarr $CONF_FILE"
   echo '<?php ' > $CONF_FILE
   echo '$'dolibarr_main_url_root=\'http://127.0.0.1\'';' >> $CONF_FILE
   echo '$'dolibarr_main_document_root=\'$TRAVIS_BUILD_DIR/htdocs\'';' >> $CONF_FILE
@@ -190,15 +189,9 @@ before_script:
   #fi
   # TODO: SQLite
   echo '$'dolibarr_main_authentication=\'dolibarr\'';' >> $CONF_FILE
+  cat $CONF_FILE
   echo
 
-- |
-  if [ "$DEBUG" = true ]; then
-    echo "Debugging informations"
-    cat $CONF_FILE
-    echo
-  fi
-
 - |
   echo "Create documents directory and set permissions"
   # and admin/temp subdirectory needed for unit tests
diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php
index 716a647240a..08b68cdb90e 100644
--- a/htdocs/filefunc.inc.php
+++ b/htdocs/filefunc.inc.php
@@ -150,7 +150,11 @@ define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root);			// Filesystem core
 $tmp='';
 $found=0;
 $real_dolibarr_main_document_root=str_replace('\\','/',realpath($dolibarr_main_document_root));	// A) Value found into config file, to say where are store htdocs files. Ex: C:/xxx/dolibarr, C:/xxx/dolibarr/htdocs
-$pathroot=$_SERVER["DOCUMENT_ROOT"];															// B) Value reported by web server setup, to say where is root of web server instance. Ex: C:/xxx/dolibarr, C:/xxx/dolibarr/htdocs
+if (!empty($_SERVER["DOCUMENT_ROOT"])) {
+    $pathroot = $_SERVER["DOCUMENT_ROOT"];                                                      // B) Value reported by web server setup, to say where is root of web server instance. Ex: C:/xxx/dolibarr, C:/xxx/dolibarr/htdocs
+} else {
+    $pathroot = 'NOTDEFINED';
+}
 $paths=explode('/',str_replace('\\','/',$_SERVER["SCRIPT_NAME"]));								// C) Value reported by web server, to say full path on filesystem of a file. Ex: /dolibarr/htdocs/admin/system/phpinfo.php
 // Try to detect if $_SERVER["DOCUMENT_ROOT"]+start of $_SERVER["SCRIPT_NAME"] is $dolibarr_main_document_root. If yes, relative url to add before dol files is this start part.
 $concatpath='';
@@ -169,6 +173,7 @@ foreach($paths as $tmppath)	// We check to find (B+start of C)=A
     }
     //else print "Not found yet for concatpath=".$concatpath."<br>\n";
 }
+//print "found=".$found." dolibarr_main_url_root=".$dolibarr_main_url_root."\n";
 if (! $found) $tmp=$dolibarr_main_url_root; // If autodetect fails (Ie: when using apache alias that point outside default DOCUMENT_ROOT).
 else $tmp='http'.(((empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on') && (empty($_SERVER["SERVER_PORT"])||$_SERVER["SERVER_PORT"]!=443))?'':'s').'://'.$_SERVER["SERVER_NAME"].((empty($_SERVER["SERVER_PORT"])||$_SERVER["SERVER_PORT"]==80||$_SERVER["SERVER_PORT"]==443)?'':':'.$_SERVER["SERVER_PORT"]).($tmp3?(preg_match('/^\//',$tmp3)?'':'/').$tmp3:'');
 //print "tmp1=".$tmp1." tmp2=".$tmp2." tmp3=".$tmp3." tmp=".$tmp."\n";
diff --git a/test/phpunit/AllTests.php b/test/phpunit/AllTests.php
index cf25ee6df8b..f904537d6ca 100644
--- a/test/phpunit/AllTests.php
+++ b/test/phpunit/AllTests.php
@@ -30,6 +30,7 @@ global $conf,$user,$langs,$db;
 //define('TEST_DB_FORCE_TYPE','mysql');	// This is to force using mysql driver
 //require_once 'PHPUnit/Autoload.php';
 require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
+print 'DOL_MAIN_URL_ROOT='.DOL_MAIN_URL_ROOT."\n";  // constant will be used by other tests
 
 if ($langs->defaultlang != 'en_US')
 {
diff --git a/test/phpunit/WebservicesProductsTest.php b/test/phpunit/WebservicesProductsTest.php
old mode 100755
new mode 100644
index bbb6f6179df..a4ff7293091
--- a/test/phpunit/WebservicesProductsTest.php
+++ b/test/phpunit/WebservicesProductsTest.php
@@ -40,7 +40,6 @@ if (empty($user->id))
 	$user->getrights();
 }
 $conf->global->MAIN_DISABLE_ALL_MAILS=1;
-print 'DOL_MAIN_URL_ROOT='.DOL_MAIN_URL_ROOT;
 
 
 /**
-- 
GitLab