Skip to content
Extraits de code Groupes Projets
Valider 2b2288a1 rédigé par marcimat's avatar marcimat Validation de marcimat
Parcourir les fichiers

tests: Tentative de correction de CacheSessionTest

Il faut nettoyer le cache sinon ça ne retourne pas des résultats cohérents
d’un coup à l’autre sur le `testVerifierCaptureMajInvalideurs` data #1
(1 ou 2 erreurs retournées = calcule 1 ou 2 caches selon).

On essaie de faire de s’assurer que le cache est vide au départ.

Cependant il y a parfois un autre problème, c’est que dans certains cas (?)
le dossier_squelettes spécifique n’est pas appliqué. Ce n’est pas systématique,
et a priori jamais si on lance uniquement ce fichier de test.
parent 8d366f77
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -11,17 +11,35 @@ use Spip\Test\SquelettesTestCase; ...@@ -11,17 +11,35 @@ use Spip\Test\SquelettesTestCase;
class CacheSessionTest extends SquelettesTestCase class CacheSessionTest extends SquelettesTestCase
{ {
private static array $errors = []; private static array $errors = [];
private static string $squelettes;
public static function setUpBeforeClass(): void { public static function setUpBeforeClass(): void {
$GLOBALS['dossier_squelettes'] = self::relativePath(__DIR__ . '/data/squelettes'); self::$squelettes = self::relativePath(__DIR__ . '/data/squelettes');
$GLOBALS['dossier_squelettes'] = self::$squelettes;
$GLOBALS['delais'] = 3600; // See boostrap.php qui met delais = 0 (inhibe le cache) $GLOBALS['delais'] = 3600; // See boostrap.php qui met delais = 0 (inhibe le cache)
include_spip('inc/invalideur');
purger_repertoire(_DIR_CACHE . 'calcul/', ['subdir' => true]);
}
public static function tearDownAfterClass(): void {
$GLOBALS['dossier_squelettes'] = '';
$GLOBALS['delais'] = 0;
} }
protected function setUp(): void { protected function setUp(): void {
$this->resetErrors(); $this->resetErrors();
} }
public function testVerifierPathMajInvalideurs(): void {
$this->assertEquals(self::$squelettes, $GLOBALS['dossier_squelettes'] ?? null);
$this->assertTrue(file_exists(__DIR__ . '/data/squelettes/inc/maj_invalideurs.php'));
$this->assertNotFalse(find_in_path('inc/maj_invalideurs.php'));
$this->assertNotFalse(include_spip('inc/maj_invalideurs'));
$this->assertEquals('inc_maj_invalideurs', charger_fonction('maj_invalideurs', 'inc', true));
}
/** Vérifier qu’on sait attraper les données de cache */ /** Vérifier qu’on sait attraper les données de cache */
#[Depends('testVerifierPathMajInvalideurs')]
#[DataProvider('providerVerifierCaptureMajInvalideurs')] #[DataProvider('providerVerifierCaptureMajInvalideurs')]
public function testVerifierCaptureMajInvalideurs(int $expectedCountErrors, string $squelette, bool $session_attendue): void { public function testVerifierCaptureMajInvalideurs(int $expectedCountErrors, string $squelette, bool $session_attendue): void {
$this->runWithSquelette($squelette, $session_attendue); $this->runWithSquelette($squelette, $session_attendue);
...@@ -31,7 +49,7 @@ class CacheSessionTest extends SquelettesTestCase ...@@ -31,7 +49,7 @@ class CacheSessionTest extends SquelettesTestCase
public static function providerVerifierCaptureMajInvalideurs(): array { public static function providerVerifierCaptureMajInvalideurs(): array {
return [ return [
[0, 'inclure/A_session_wo', false], [0, 'inclure/A_session_wo', false],
[1, 'inclure/A_session_wo', true], [2, 'inclure/A_session_wo', true],
[2, 'inclure/A_session_w', false], [2, 'inclure/A_session_w', false],
[0, 'inclure/A_session_w', true], [0, 'inclure/A_session_w', true],
]; ];
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter