Comments (23)
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.
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.
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.
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.
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 entre
inline` 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.
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.
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.
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.
Peux-tu essayer à partir du commit a2d9dfe ?
from atoum.
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.
Peux-tu essayer avec la version 2a9d856 ?
from atoum.
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.
Encore une fois avec 86cb7ae ?
from atoum.
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.
Last try for today with commit afd633b
from atoum.
Le dernier, mais le bon :-) . Tout est en ordre, super boulot !
from atoum.
A very very last : 2c6ea25
from atoum.
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.
Désolé, il faut vraiment que je pense à dormir : 89d3bb2
from atoum.
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.
Merci à toi d'avoir accepter de m'aider en exécutant les tests sous Windows.
from atoum.
Merci les gars. Moi qui pensais que le problème venait de moi.
from atoum.
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)
- Mocking an Throwable interface produces an error HOT 1
- php 8 support ... HOT 1
- Package not up to date on packagist HOT 1
- php 7.4 : includer fail HOT 1
- php 7.4 failed test because of error HOT 1
- strign contains in array has a strange behavior
- [bug] Error executing tests
- rename namespace to atoum without alias
- How to access private and protected properties HOT 2
- HTML coverage not produced using --use-dot-report HOT 2
- php8 test-it failing (8.0.1 -> ... incompatibility on two tests) HOT 4
- [mock] reset calls count HOT 2
- Question about execution order HOT 4
- How to use atoum on a project with no classes? HOT 3
- Silent failures (when ini_set('display_errors', 0)) HOT 2
- Where can I get the phar file for version 4.0.3? HOT 1
- Atoum 4.1 to publish HOT 3
- Question about calling($mock)->MyMethod[…]
- Atoum 4.1 error extends class HOT 1
- Fatal error with Php 8.1.2 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from atoum.