Giter Site home page Giter Site logo

Atoum blocked about atoum HOT 23 CLOSED

atoum avatar atoum commented on June 19, 2024
Atoum blocked

from atoum.

Comments (23)

mageekguy avatar mageekguy commented on June 19, 2024

Duplicate of #49.
Quelle version de atoum utilises-tu ?
As-tu le même problème en clonant le dépôt github ?

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Même problème avec un clone du dépôt.
Version :

php test/atoum.phar -v
atoum version nightly-1149-201206111358 by Fr├®d├®ric Hardy (phar://XXX/test/atoum.phar)

Je n'en ai pas parlé dans #49 car l'utilisation de la branche "engine" n'avait aucun impact chez moi, contrairement à l'OP.

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Que se passe-t'il si tu mets successivement /** @engine inline */ et /** @engine isolate */ avant la déclaration de ta classe de test ?
Normalement, inline ne devrait pas bloquer.
Le problème vient soit de la lecture de l'état du sous-processus exécutant la méthode de test, soit de la lecture du flux d'erreur, et je pense qu'il est induit par un bug au niveau de PHP.
Si tu peux tester avec une version 5.4 ou supérieur, je suis donc intéressé par le résultat.

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Rien de plus ne se passe avec /** @engine isolate /, mais tout fonctionne très bien lorsque j'utilise /* @engine inline */ (c'est-à-dire qu'Atoum ne se bloque plus).

De même, le problème est résolu avec PHP 5.4.3.
Merci :-) .

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

le problème vient donc bien de PHP :/.
Tu étais en 5.3.8, pourrais-tu faire un test avec une ou plusieurs versions comprises entre 5.3.9 et 5.3.13 ?
Cela me permettrait de définir la version minimum nécessaire pour faire tourner atoum sous windows correctement.
Pour info, inline indique à atoum de ne pas exécuter les méthodes de test dans un processus indépendant.
Il n'y a donc plus d'isolation des tests, mais en contrepartie, ces derniers s'exécutent beaucoup plus rapidement.
Quand à ìsolate, c'est une méthode d'exécution intermédiaire entreinline` et celle par défaut.
Les méthodes de test sont exécutées dans un sous-processus, mais les une à la suite des autres, et non parallèlement comme avec la méthode par défaut.
Cette méthode permet de s'affranchir des problèmes de concurrence (race condition) mais c'est aussi la moins performante.

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Petites précisions : php atoum.phar --testIt finit par se bloquer sur toutes les versions de PHP (5.3.8, 5.3.13 et 5.4.3). En revanche, il se bloque plus loin dans la série de tests sur les dernières versions.

Le code que j'ai donné, lui, ne se bloque plus dès PHP 5.3.9.

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Peux-tu essayer la dernière version du dépôt github, s'il te plaît ?
Un contributeur a trouvé un bug que j'ai résolue et qui pourrait être également la cause du problème qui nous occupe.
Merci d'avance.

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Superbe, ça marche très bien ! Même le --testIt ne se bloque plus :) .

Par contre, il y a des erreurs et des exceptions dans le --testIt, les mêmes que celles rapportées ici.

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Peux-tu essayer à partir du commit a2d9dfe ?

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Plus d'exceptions, uniquement des échecs :

Failure (140 tests, 1009/1009 methods, 7 failures, 0 error, 0 exception) !
There are 7 failures:
=> mageekguy\atoum\tests\units\iterators\recursives\atoum\source::testCurrent():

In file phar://XXX/test/atoum.phar/3/tests/units/classes/iterators/recursives/atoum/source.php on line 61, mageekguy\atoum\asserters\string::isEqualTo() failed: strings are not equals
-Reference
+Data
@@ -1 +1 @@
-string(28) "atoum://sourceDirectory/file"
+string(28) "atoum://sourceDirectory\file"
=> mageekguy\atoum\tests\units\iterators\recursives\atoum\source::testKey():
In file phar://XXX/test/atoum.phar/3/tests/units/classes/iterators/recursives/atoum/source.php on line 89, mageekguy\atoum\asserters\string::isEqualTo() failed: strings are not equals
-Reference
+Data
@@ -1 +1 @@
-string(28) "atoum://sourceDirectory/file"
+string(28) "atoum://sourceDirectory\file"
=> mageekguy\atoum\tests\units\report\fields\runner\coverage\html::testCleanDestinationDirectory():
In file phar://XXX/test/atoum.phar/3/tests/units/classes/report/fields/runner/coverage/html.php on line 233, mageekguy\atoum\asserters\adapter::once() failed: function unlink(string(49) "atoum://destinationDirectory/aDirectory/firstFile") is called 0 time instead of 1
[1] unlink(string(49) "atoum://destinationDirectory\aDirectory\firstFile")
[2] unlink(string(50) "atoum://destinationDirectory\aDirectory\secondFile")
[3] unlink(string(62) "atoum://destinationDirectory\anOtherDirectory\anOtherFirs
tFile")
[4] unlink(string(63) "atoum://destinationDirectory\anOtherDirectory\anOtherSeco
ndFile")
[5] unlink(string(34) "atoum://destinationDirectory\aFile")
=> mageekguy\atoum\tests\units\report\fields\runner\tests\uncompleted\cli::test__toString():
In file phar://XXX/test/atoum.phar/3/tests/units/classes/report/fields/runner/tests/uncompleted/cli.php on line 246, mageekguy\atoum\asserters\castToString::isEqualTo() failed: strings are not equals
-Reference
+Data
@@ -5 +5 @@
-output(27) "4fdb0876d4d5d
+output(28) "4fdb0876d4d5d
=> mageekguy\atoum\tests\units\scripts\builder\vcs\svn::testCleanWorkingDirectory():
In file phar://XXX/test/atoum.phar/3/tests/units/classes/scripts/builder/vcs/svn.php on line 385, mageekguy\atoum\asserters\adapter::once() failed: function unlink(string(45) "atoum://workingDirectory/aDirectory/firstFile") is called 0 time instead of 1
[1] unlink(string(45) "atoum://workingDirectory\aDirectory\firstFile")
[2] unlink(string(46) "atoum://workingDirectory\aDirectory\secondFile")
[3] unlink(string(58) "atoum://workingDirectory\anOtherDirectory\anOtherFirstFil
e")
[4] unlink(string(59) "atoum://workingDirectory\anOtherDirectory\anOtherSecondFi
le")
[5] unlink(string(30) "atoum://workingDirectory\aFile")
=> mageekguy\atoum\tests\units\scripts\phar\generator::testSetOriginDirectory():

In file phar://XXX/test/atoum.phar/3/tests/units/classes/scripts/phar/generator.php on line 92, mageekguy\atoum\asserters\string::isEqualTo() failed: strings are not equals
-Reference
+Data
@@ -1 +1 @@
-string(13) "4fdb0885bb460"
+string(14) "4fdb0885bb460/"
=> mageekguy\atoum\tests\units\scripts\phar\generator::testSetDestinationDirectory():
In file phar://XXX/test/atoum.phar/3/tests/units/classes/scripts/phar/generator.php on line 141, mageekguy\atoum\asserters\string::isEq
ualTo() failed: strings are not equals
-Reference
+Data
@@ -1 +1 @@
-string(13) "4fdb0885ca849"
+string(14) "4fdb0885ca849/"

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Peux-tu essayer avec la version 2a9d856 ?

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Plus que 6 ;-) :

Failure (140 tests, 1009/1009 methods, 6 failures, 0 error, 0 exception) !
There are 6 failures:
=> mageekguy\atoum\tests\units\autoloader::testGetDirectories():
In file XXX\atoum\tests\units\classes\autoloader.php on line 19, mageekguy\atoum\asserters\phpArray::isEqualTo() failed: array(2)is not equal to array(1)
-Reference
+Data
@@ -1 +1 @@
-array(1) {
[0]=>
string(47) "XXX\atoum\classes"
}
+array(2) {
[0]=>
string(47) "XXX\atoum\classes"
[1]=>
string(47) "XXX\atoum/classes"
}
=> mageekguy\atoum\tests\units\iterators\recursives\atoum\source::testKey():
In file XXX\atoum\tests\units\classes\iterators\recursives\atoum\source.php on line 89, mageekguy\atoum\asserters\string::isEqualTo() failed: strings are not equals
-Reference
+Data
@@ -1 +1 @@
-string(28) "atoum://sourceDirectory/file"
+string(28) "atoum://sourceDirectory\file"
=> mageekguy\atoum\tests\units\report\fields\runner\coverage\html::testCleanDestinationDirectory():
In file XXX\atoum\tests\units\classes\report\fields\runner\coverage\html.php on line 233, mageekguy\atoum\asserters\adapter::once() failed: function unlink(string(49) "atoum:\destinationDirectory\aDirectory\firstFile") is called 0 time instead of 1
[1] unlink(string(49) "atoum://destinationDirectory\aDirectory\firstFile")
[2] unlink(string(50) "atoum://destinationDirectory\aDirectory\secondFile")
[3] unlink(string(62) "atoum://destinationDirectory\anOtherDirectory\anOtherFirstFile")
[4] unlink(string(63) "atoum://destinationDirectory\anOtherDirectory\anOtherSecondFile")
[5] unlink(string(34) "atoum://destinationDirectory\aFile")
=> mageekguy\atoum\tests\units\scripts\builder\vcs\svn::testCleanWorkingDirectory():
In file XXX\atoum\tests\units\classes\scripts\builder\vcs\svn.php on line 385, mageekguy\atoum\asserters\adapter::once() failed: function unlink(string(45) "atoum:\workingDirectory\aDirectory\firstFile") is called 0 time instead of 1
[1] unlink(string(45) "atoum://workingDirectory\aDirectory\firstFile")
[2] unlink(string(46) "atoum://workingDirectory\aDirectory\secondFile")
[3] unlink(string(58) "atoum://workingDirectory\anOtherDirectory\anOtherFirstFile")
[4] unlink(string(59) "atoum://workingDirectory\anOtherDirectory\anOtherSecondFile")
[5] unlink(string(30) "atoum://workingDirectory\aFile")
=> mageekguy\atoum\tests\units\scripts\phar\generator::testSetOriginDirectory():

In file XXX\atoum\tests\units\classes\scripts\phar\generator.php on line 92, mageekguy\atoum\asserters\string::isEqualTo() failed: strings are not equals
-Reference
+Data
@@ -1 +1 @@
-string(13) "4fdb179b55088"
+string(14) "4fdb179b55088/"
=> mageekguy\atoum\tests\units\scripts\phar\generator::testSetDestinationDirectory():
In file XXX\atoum\tests\units\classes\scripts\phar\generator.php on line 141, mageekguy\atoum\asserters\string::isEqualTo() failed: strings are not equals
-Reference
+Data
@@ -1 +1 @@
-string(13) "4fdb179b60a23"
+string(14) "4fdb179b60a23/"

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Encore une fois avec 86cb7ae ?

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Qui a eu l'idée d'utiliser "" comme séparateur sous Windows, hein ^^ ? On y est presque :-) :

Failure (140 tests, 1009/1009 methods, 1 failure, 0 error, 0 exception) !
There is 1 failure:
=> mageekguy\atoum\tests\units\scripts\builder\vcs\svn::testCleanWorkingDirectory():
In file XXX\atoum\tests\units\classes\scripts\builder\vcs\svn.php on line 385, mageekguy\atoum\asserters\adapter::once() failed: function unlink(string(45) "atoum:\workingDirectory\aDirectory\firstFile") is called 0 time instead of 1
[1] unlink(string(45) "atoum://workingDirectory\aDirectory\firstFile")
[2] unlink(string(46) "atoum://workingDirectory\aDirectory\secondFile")
[3] unlink(string(58) "atoum://workingDirectory\anOtherDirectory\anOtherFirstFile")
[4] unlink(string(59) "atoum://workingDirectory\anOtherDirectory\anOtherSecondFile")
[5] unlink(string(30) "atoum://workingDirectory\aFile")

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Last try for today with commit afd633b

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Le dernier, mais le bon :-) . Tout est en ordre, super boulot !

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

A very very last : 2c6ea25

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Ah ben non, c'est tout cassé maintenant :p :

Failure (140 tests, 1009/1009 methods, 2 failures, 0 error, 0 exception) !
There are 2 failures:
=> mageekguy\atoum\tests\units\report\fields\runner\coverage\html::testCleanDestinationDirectory():
In file XXX\atoum\tests\units\classes\report\fields\runner\coverage\html.php on line 233, mageekguy\atoum\asserters\adapter::once() failed: function unlink(string(49) "atoum://destinationDirectory/aDirectory/firstFile") is called 0 time instead of 1
[1] unlink(string(49) "atoum://destinationDirectory\aDirectory\firstFile")
[2] unlink(string(50) "atoum://destinationDirectory\aDirectory\secondFile")
[3] unlink(string(62) "atoum://destinationDirectory\anOtherDirectory\anOtherFirstFile")
[4] unlink(string(63) "atoum://destinationDirectory\anOtherDirectory\anOtherSecondFile")
[5] unlink(string(34) "atoum://destinationDirectory\aFile")
=> mageekguy\atoum\tests\units\scripts\builder\vcs\svn::testCleanWorkingDirectory():
In file XXX\atoum\tests\units\classes\scripts\builder\vcs\svn.php on line 385, mageekguy\atoum\asserters\adapter::once() failed: function unlink(string(45) "atoum://workingDirectory/aDirectory/firstFile") is called 0 time instead of 1
[1] unlink(string(45) "atoum://workingDirectory\aDirectory\firstFile")
[2] unlink(string(46) "atoum://workingDirectory\aDirectory\secondFile")
[3] unlink(string(58) "atoum://workingDirectory\anOtherDirectory\anOtherFirstFile")
[4] unlink(string(59) "atoum://workingDirectory\anOtherDirectory\anOtherSecondFile")
[5] unlink(string(30) "atoum://workingDirectory\aFile")

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Désolé, il faut vraiment que je pense à dormir : 89d3bb2

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

C'est plutôt moi qui suis désolé de t'empêcher de dormir, justement ^^ .
Tout va bien, tu peux aller te coucher l'esprit serein :) :

Success (140 tests, 1009/1009 methods, 16365 assertions, 0 error, 0 exception) !

from atoum.

mageekguy avatar mageekguy commented on June 19, 2024

Merci à toi d'avoir accepter de m'aider en exécutant les tests sous Windows.

from atoum.

b1nj avatar b1nj commented on June 19, 2024

Merci les gars. Moi qui pensais que le problème venait de moi.

from atoum.

Blackhol3 avatar Blackhol3 commented on June 19, 2024

Ce fichu antislash de Windows est à manier précautionneusement dans les regex, je suppose :

Failure (141 tests, 1032/1032 methods, 1 failure, 0 error, 0 exception) !
There is 1 failure:
=> mageekguy\atoum\tests\units\mock\stream::testGetSubStream():
In file phar://XXX/tests/units/classes/mock/stream.php on line 80, mageekguy\atoum\asserters\castToString::match() failed: string(35) 'atoum://4fe4a47954a41\4fe4a4795526b' does not match #^atoum://4fe4a47954a41[^]+$#

from atoum.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.