Réaliser les tests unitaires pour les futures version de PHP.
Par Seza le samedi 11 octobre 2008, 02:21 - Programmation - Lien permanent
Réaliser les tests unitaires des futures version de PHP aide l’équipe de développement de PHP à améliorer PHP alors autant les aider. La méthode à suivre est assez simple si vous êtes habituer à la ligne de commande (ou pas). Commençons tout de suite en testant la version PHP-5.2.7RC1 qui sortira prochainement.
Tout d’abord cette méthode convient aux distributions de type Debian mais peut certainement s’adapter aux autres.
On commence par se créer une cage (« chroot ») pour ne pas gêner notre système actuel. Nous aurons besoin pour cela de « debootstrap ».
Créons tout de suite notre environnement de test :
sudo apt-get install debootstrap mkdir /tmp/php-test cd php-test sudo debootstrap lenny ./ http://ftp.fr.debian.org/debian
Ici j’utilise Debian Lenny pour avoir les dernières versions de paquets disponibles. En effet, compiler PHP demande certaines versions d’outils que nous allons installer par la suite et qui ne sont pas forcément disponible sur Etch (j’ai tout d’abord essayé avec Etch pour savoir ceci mais vous comprendrez plus bas avec un exemple).
Ok, maintenant on a installé dans « /tmp/php-test » l’arborescence d’une Debian Lenny avec le minimum d’outils nécessaires pour travailler dessus.
On va maintenant se rentrer dans ce nouveau système d’exploitation.
sudo chroot /tmp/php-test /bin/bash
Maintenant nous somme l’utlisateur Root sur notre nouveau système fraîchement installé et complètement séparer de notre distribution de travail. Nous avons créer un environnement linux complet que nous pouvons casser, trifouiller, bidouiller bref faire joujou quoi. Continuons et passons le tout en français c’est mieux quand même.
apt-get install locales dpkg-reconfigure locales
« dpkg-reconfigure » vous demande de choisir votre locale, descendez jusqu’à trouvez fr_FR.UFT8, faîtes « espace » pour sélectionner cette locale et « tab » pour passer sur le bouton « <OK> » puis valider. De même l’écran suivant vous demande de choisir la locale par défaut, choisissez « fr_FR.UTF8 » et valider.
Maintenant téléchargeons notre release-candidate de PHP :
cd /tmp wget http://downloads.php.net/ilia/php-5.2.7RC1.tar.gz
Décompressez le tout :
tar -xzf php-5.2.7RC1.tar.gz cd php-5.2.7RC1
Ok, on a plus qu’à configurer, installer, tester. Configurons :
./configure --quiet
L’option « --quiet » sert à afficher uniquement les problèmes qui arrive pendant la configuration. Comme vous aller le voir, il y a des problèmes.
Bien oui, nous n’avons installer aucun outils de compilation comme gcc le compilateur C. PHP réclame aussi d’autre outils alors pour vous facilité la tache je vous les ai tous lister ici.
apt-get install gcc make libc-dev libxml2-dev lemon bison flex re2c
Rien que tout ça ! Bon maintenant, plus sérieux, on relance la configuration.
./configure --quiet
Patatras ! Encore un problème avec « flex ». En effet cette version de PHP réclame flex-2.5.4 or Debian Lenny ne fournit que flex-2.5.35 (http://packages.debian.org/testing/devel/flex). Nous allons donc devoir installer manuellement flex-2.5.4a. Allons-y :
cd ../ wget http://prdownloads.sourceforge.net/flex/flex-2.5.4a.tar.gz?download tar -xzf flex-2.5.4a.tar.gz cd flex-2.5.4a ./configure --quiet make make install
Heureusement ici l’installation se passe très bien dès le premier coup. Ok, on y est presque, re-re-configurons PHP pour l’installation (préparer votre café pour les petites machines) :
cd php-test ./configure --quiet make make install
Voilà PHP-5.2.7RC1 est installé sur la machine ! il nous reste plus qu’à lancer les tests unitaires :
make test
Préparez-vous un nouveau café et une fois les tests terminés, la commande vous propose d’envoyer les résultats à la team qualité de PHP répondez Oui et valider (vous êtes là pour ça en même temps).
C’est terminé ! vous n’avez plus qu’à faire le ménage :
exit cd /tmp sudo rm -rf php-test
Voilà, j’espère que vous serez nombreux maintenant à participer au test de qualité de PHP.
Derniers commentaires