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

tests: Qq tests de filesystem en PHPUnit

parent 13b3d8c1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -225,7 +225,7 @@ function spip_nfslock($fichier, $max_age = 0) {
* @see spip_nfslock()
*
* @param string $fichier Chemin du fichier
* @param bool $birth Timestamp de l'heure de création du verrou
* @param int $birth Timestamp de l'heure de création du verrou
* @param int $max_age Age maximum du verrou
* @param bool $test Mode de test
* return bool true si déverrouillé, false sinon
......@@ -314,7 +314,7 @@ function spip_nfsunlock($fichier, $birth, $max_age = 0, $test = false) {
* @see spip_nfsunlock() about lost and stolen locks.
*
* @param string $fichier Chemin du fichier
* @param bool $birth Timestamp de l'heure de création du verrou
* @param int $birth Timestamp de l'heure de création du verrou
* @param int $max_age Age maximum du verrou
* return bool true si déverrouillé, false sinon
*/
......
<?php
declare(strict_types=1);
namespace Spip\Test\Filesystem;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class FlockTest extends TestCase
{
public static function setUpBeforeClass(): void {
include_spip('inc/flock');
}
public function testSousRepertoire(): void {
$sous_repertoire = 'test' . md5(strval(random_int(0, mt_getrandmax())));
$this->assertSame(
sous_repertoire(_DIR_VAR, $sous_repertoire),
_DIR_VAR . $sous_repertoire . '/'
);
$this->assertTrue(file_exists(_DIR_VAR . $sous_repertoire));
$this->assertTrue(is_dir(_DIR_VAR . $sous_repertoire));
// Nettoyage
@unlink(_DIR_VAR . $sous_repertoire . '/.ok');
@rmdir(_DIR_VAR . $sous_repertoire);
}
}
<?php
declare(strict_types=1);
namespace Spip\Test\Filesystem;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class NfslockTest extends TestCase
{
public static function setUpBeforeClass(): void {
include_spip('inc/nfslock');
}
public function testNfslock(): void {
$verrou = spip_nfslock('monfichier');
$this->assertNotFalse($verrou, 'Echec: pose du verrou');
$this->assertTrue(spip_nfslock_test('monfichier', $verrou), 'Échec: Ne valide pas le verrou posé sur le fichier');
$this->assertFalse(spip_nfslock_test('un autre', $verrou), 'Échec: valide le verrou sur un autre fichier');
$this->assertTrue(spip_nfsunlock('monfichier', $verrou), 'Échec: déverrouillage du verrou sur notre fichier');
$this->assertFalse(spip_nfslock_test('monfichier', $verrou), 'Échec: verrou toujours présent sur notre fichier');
$this->assertFalse(spip_nfslock_test('monfichier', 0));
}
}
<?php
declare(strict_types=1);
/**
* Tests unitaires de sous_repertoire() du fichier ecrire/inc/flock.php
*/
$test = 'sous_repertoire';
$remonte = __DIR__ . '/';
while (!is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
$ok = true;
$sous_repertoire = 'test' . md5(strval(random_int(0, mt_getrandmax())));
include_spip('inc/flock');
$ok = (sous_repertoire(
_NOM_TEMPORAIRES_ACCESSIBLES,
$sous_repertoire
) === _NOM_TEMPORAIRES_ACCESSIBLES . $sous_repertoire . '/');
// Nettoyage
@unlink(_NOM_TEMPORAIRES_ACCESSIBLES . $sous_repertoire . '/.ok');
@rmdir(_NOM_TEMPORAIRES_ACCESSIBLES . $sous_repertoire);
if ($ok) {
echo 'OK';
}
<?php
declare(strict_types=1);
$test = 'spip_nfslock';
$remonte = __DIR__ . '/';
while (!is_file($remonte . 'test.inc')) {
$remonte .= '../';
}
require $remonte . 'test.inc';
include_spip('inc/nfslock');
$verrou = spip_nfslock('monfichier');
$verrou_ok = spip_nfslock_test('monfichier', $verrou);
$verrou_absent = spip_nfslock_test('un autre', $verrou);
$deverrouille = spip_nfsunlock('monfichier', $verrou);
$birth = false;
$verrou_absent2 = spip_nfslock_test('monfichier', $birth);
if ($verrou && $verrou_ok && !$verrou_absent && $deverrouille && !$verrou_absent2) {
echo 'OK';
exit;
}
echo '<ul><li>Erreur NFSLock :';
echo '<ul>';
echo "<li>verrou sur 'monfichier':{$verrou}</li>";
echo "<li>test du verrou sur 'monfichier':{$verrou_ok}</li>";
echo "<li>test du verrou sur 'un autre':{$verrou_absent}</li>";
echo "<li>deverrouille 'monfichier':{$deverrouille}</li>";
echo "<li>test du verrou sur 'monfichier':{$verrou_absent2}</li>";
echo '</ul></li></ul>';
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