atoum / atoum

The modern, simple and intuitive PHP unit testing framework.
http://atoum.org
Other
1.45k stars 147 forks source link

testing directory fail #2

Closed euskadi31 closed 13 years ago

euskadi31 commented 13 years ago

Atoum version nightly-534-201106291627 by Frédéric Hardy (/Users/euskadi31/php/testunit/tests/mageekguy.atoum.phar)

Hi,

$ php mageekguy.atoum.phar -d units/ Error: Constant COMPILER_HALT_OFFSET already defined /Users/euskadi31/php/testunit/tests/mageekguy.atoum.phar 16

mageekguy commented 13 years ago

Hello !

$ php mageekguy.atoum.phar -d units/ Error: Constant COMPILER_HALT_OFFSET already defined /Users/euskadi31/php/testunit/tests/mageekguy.atoum.phar 16 I have not this problem. Can you send me in tar/zip format your "units" directory ?

Best regards, Fred.

PS : You can speak french.

Frédéric Hardy : Architecte d'application/Admin. système/Ergonome CV : http://blog.mageekbox.net/public/cv.frederic.hardy.pdf Blog : http://blog.mageekbox.net

Twitter : http://twitter.com/mageekguy

euskadi31 commented 13 years ago

ok

j'ai zipé le projet complet (il y a juste 2 classes)

http://dl.dropbox.com/u/13604448/testunit.zip

mageekguy commented 13 years ago

Hello !

Ton problème vient du require mageekguy.atoum.phar dans ton fichier de test. Vu que tu appelles le phar via la ligne de commande, la constante COMPILER_HALT_OFFSET est définie par la fonction halt_compiler() de PHP. Vu que tu fais un require du phar dans ton fichier de test, le phar est à nouveau exécuté, et donc halt_compiler() est une nouvelle fois appelée et cherche donc à créer encore une fois la constante __COMPILER_HALT_OFFSET, d'ou l'erreur.

La solution consiste donc soit : 1) À ne pas inclure le phar dans ton fichier de test et à passer systématiquement par le phar en CLI pour exécuter tes tests (en gros, tu ne pourras plus faire php path/to/test/file.php). 2) À utiliser require_once au lieu de require.

À toi de voir ce qui correspond le mieux à ta sensibilité. De mon côté, je vais mettre à jour la section "Dépannage" du README sur github, et je vais chercher une solution pour que atoum gère correctement ce cas.

En ce qui concerne ton premier problème, c'est un ancien bug, donc je pense que tu n'utilisais pas la dernière version de l'archive phar.

Merci de ton retour.

A+

Frédéric Hardy : Architecte d'application/Admin. système/Ergonome CV : http://blog.mageekbox.net/public/cv.frederic.hardy.pdf Blog : http://blog.mageekbox.net

Twitter : http://twitter.com/mageekguy

euskadi31 commented 13 years ago

ok merci ;)

pour la version j'ai DL le phar depuis le README (http://downloads.atoum.org/nightly/mageekguy.atoum.phar)

je mets à jour et je teste

edit : idem, je pense que le phar n'est pas à jour

euskadi31 commented 13 years ago

je ferme ce ticket