From 3ab199b173a37a7e6e2ebce13b2ff4f7d9db3cec Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Tue, 20 Jul 2021 11:54:06 +0200
Subject: [PATCH] ne pas s'appuyer sur la localisation du fichier
 test_fonctions.php

---
 index.php          |  1 +
 test_fonctions.php | 15 +++++++--------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/index.php b/index.php
index 98dc0995ea..8b5b601570 100644
--- a/index.php
+++ b/index.php
@@ -60,6 +60,7 @@
 
 	include_once __DIR__ . '/test_fonctions.php';
 
+	define(_DIR_TESTS, basename(__DIR__).'/');
 
 	$tests = tests_legacy_lister();
 
diff --git a/test_fonctions.php b/test_fonctions.php
index b57fdf49b9..e55674a3d0 100644
--- a/test_fonctions.php
+++ b/test_fonctions.php
@@ -1,8 +1,7 @@
 <?php
 
 function tests_init_dossier_squelettes() {
-	$dir_tests = substr(__DIR__, strlen(_SPIP_TEST_CHDIR) + 1);
-	$GLOBALS['dossier_squelettes'] = $dir_tests . '/tests/legacy/squelettes';
+	$GLOBALS['dossier_squelettes'] = _DIR_TESTS . 'tests/legacy/squelettes';
 }
 
 function tests_loger_webmestre() {
@@ -21,7 +20,7 @@ function demarrer_simpletest() {
 		die("<strong>Echec :</strong> SPIP ne peut pas etre demarre automatiquement pour le test.<br />
 			Vous utilisez certainement un lien symbolique dans votre repertoire plugins.");
 	}
-	include_once __DIR__ . '/tests/legacy/inc/spip_simpletest.php';
+	include_once _SPIP_TEST_INC . '/tests/legacy/inc/spip_simpletest.php';
 	if (!class_exists('SpipTestSuite')) {
 		die("<strong>Echec :</strong> le plugin pour les tests unitaires avec SimpleTest ne semble pas actif.");
 	}
@@ -178,7 +177,8 @@ function test_equality($val1,$val2){
 function tests_legacy_lister($extension=null) {
 
 	// chercher les bases de tests
-	$bases = array('tests/tests/legacy/unit');
+	$bases = array(_DIR_TESTS . 'tests/legacy/unit');
+
 	foreach (creer_chemin() as $d) {
 		if ($d && @is_dir("${d}tests"))
 			$bases[] = "${d}tests";
@@ -222,10 +222,9 @@ function tests_legacy_lister($extension=null) {
 			  AND (strncmp(basename($test),'NA_',3)!==0 OR _request('var_mode')=='dev')){
 
 				$joli = preg_replace(',\.(php|html)$,', '', basename($test));
-				if ($base == 'tests/') {
-					$section = basename(dirname($test));
-				} else {
-					$section = dirname($test);
+				$section = dirname($test);
+				if (strpos($base, _DIR_TESTS) === 0) {
+					$section = substr($section, strlen(_DIR_TESTS . '/tests'));
 				}
 				$titre = "$section/$joli";
 				if (isset($liste_fichiers[$titre])) {
-- 
GitLab