Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failures with PHPUnit's own test suite and ^4.0 of this component #31

Closed
sebastianbergmann opened this issue Oct 23, 2018 · 7 comments
Labels

Comments

@sebastianbergmann
Copy link
Owner

$ ./phpunit 
PHPUnit 7.4.2 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.2.11 with Xdebug 2.6.1
Configuration: /usr/local/src/phpunit/phpunit.xml

.............................................................   61 / 1989 (  3%)
.............................................................  122 / 1989 (  6%)
.............................................................  183 / 1989 (  9%)
.............................................................  244 / 1989 ( 12%)
.............................................................  305 / 1989 ( 15%)
.............................................................  366 / 1989 ( 18%)
.............................................................  427 / 1989 ( 21%)
.............................................................  488 / 1989 ( 24%)
.............................................................  549 / 1989 ( 27%)
.............................................................  610 / 1989 ( 30%)
.............................................................  671 / 1989 ( 33%)
.............................................................  732 / 1989 ( 36%)
.............................................................  793 / 1989 ( 39%)
.............................................................  854 / 1989 ( 42%)
.............................................................  915 / 1989 ( 46%)
.............................................................  976 / 1989 ( 49%)
............................................................. 1037 / 1989 ( 52%)
............................................................. 1098 / 1989 ( 55%)
............................................................. 1159 / 1989 ( 58%)
............................................................. 1220 / 1989 ( 61%)
............................................................. 1281 / 1989 ( 64%)
............................................................. 1342 / 1989 ( 67%)
............................................................. 1403 / 1989 ( 70%)
............................................................. 1464 / 1989 ( 73%)
............................................................. 1525 / 1989 ( 76%)
............................................................. 1586 / 1989 ( 79%)
............................................................. 1647 / 1989 ( 82%)
............................................................. 1708 / 1989 ( 85%)
........................FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1769 / 1989 ( 88%)
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF...F....FF...................... 1830 / 1989 ( 92%)
..........................................................FF. 1891 / 1989 ( 95%)
F.F.....FFFFFFFFFFFFFFFSSFFFFFFFFFFF.FFSFSFFFFFFFF.FFFFFFFFFF 1952 / 1989 ( 98%)
FF.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                         1989 / 1989 (100%)

Time: 8.07 seconds, Memory: 26.00MB

There were 156 failures:

1) /usr/local/src/phpunit/tests/end-to-end/abstract-test-class.phpt
Failed asserting that string matches format description.
--- Expected
+++ Actual
@@ @@
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-W                                                                   1 / 1 (100%)
-
-Time: %s, Memory: %s
-
-There was 1 warning:
-
-1) Warning
-Cannot instantiate class "AbstractTest".
-
-WARNINGS!
-Tests: 1, Assertions: 0, Warnings: 1.
+Fatal error: Uncaught Error: Undefined constant 'STDIN' in /usr/local/src/phpunit/vendor/sebastian/environment/src/Console.php:55
+Stack trace:
+#0 /usr/local/src/phpunit/src/TextUI/ResultPrinter.php(163): SebastianBergmann\Environment\Console->getNumberOfColumns()
+#1 /usr/local/src/phpunit/src/TextUI/TestRunner.php(310): PHPUnit\TextUI\ResultPrinter->__construct(NULL, false, 'never', false, 80, false)
+#2 /usr/local/src/phpunit/src/TextUI/Command.php(206): PHPUnit\TextUI\TestRunner->doRun(Object(PHPUnit\Framework\TestSuite), Array, true)
+#3 /usr/local/src/phpunit/src/TextUI/Command.php(162): PHPUnit\TextUI\Command->run(Array, true)
+#4 Standard input code(7): PHPUnit\TextUI\Command::main()
+#5 {main}
+  thrown in /usr/local/src/phpunit/vendor/sebastian/environment/src/Console.php on line 55

/usr/local/src/phpunit/src/Framework/Constraint/Constraint.php:112
/usr/local/src/phpunit/src/Framework/Constraint/Constraint.php:60
/usr/local/src/phpunit/src/Framework/Assert.php:1855
/usr/local/src/phpunit/src/Framework/Assert.php:1555
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:277
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:166
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/TextUI/TestRunner.php:622
/usr/local/src/phpunit/src/TextUI/Command.php:206
/usr/local/src/phpunit/src/TextUI/Command.php:162

2) /usr/local/src/phpunit/tests/end-to-end/assertion.phpt
Failed asserting that string matches format description.
--- Expected
+++ Actual
@@ @@
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F                                                                   1 / 1 (100%)
-
-Time: %s, Memory: %s
-
-There was 1 failure:
-
-1) AssertionExampleTest::testOne
-assert(false) in %sAssertionExample.php:%d
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
+Fatal error: Uncaught Error: Undefined constant 'STDIN' in /usr/local/src/phpunit/vendor/sebastian/environment/src/Console.php:55
+Stack trace:
+#0 /usr/local/src/phpunit/src/TextUI/ResultPrinter.php(163): SebastianBergmann\Environment\Console->getNumberOfColumns()
+#1 /usr/local/src/phpunit/src/TextUI/TestRunner.php(310): PHPUnit\TextUI\ResultPrinter->__construct(NULL, false, 'never', false, 80, false)
+#2 /usr/local/src/phpunit/src/TextUI/Command.php(206): PHPUnit\TextUI\TestRunner->doRun(Object(PHPUnit\Framework\TestSuite), Array, true)
+#3 /usr/local/src/phpunit/src/TextUI/Command.php(162): PHPUnit\TextUI\Command->run(Array, true)
+#4 Standard input code(7): PHPUnit\TextUI\Command::main()
+#5 {main}
+  thrown in /usr/local/src/phpunit/vendor/sebastian/environment/src/Console.php on line 55

/usr/local/src/phpunit/src/Framework/Constraint/Constraint.php:112
/usr/local/src/phpunit/src/Framework/Constraint/Constraint.php:60
/usr/local/src/phpunit/src/Framework/Assert.php:1855
/usr/local/src/phpunit/src/Framework/Assert.php:1555
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:277
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:166
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/TextUI/TestRunner.php:622
/usr/local/src/phpunit/src/TextUI/Command.php:206
/usr/local/src/phpunit/src/TextUI/Command.php:162

.
.
.

156) /usr/local/src/phpunit/tests/end-to-end/testdox.phpt
Failed asserting that string matches format description.
--- Expected
+++ Actual
@@ @@
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-BankAccount
- ✔ Balance is initially zero
- ✔ Balance cannot become negative
- ✔ Balance cannot become negative
-
-Time: %s, Memory: %s
-
-OK (3 tests, 3 assertions)
+Fatal error: Uncaught Error: Undefined constant 'STDIN' in /usr/local/src/phpunit/vendor/sebastian/environment/src/Console.php:55
+Stack trace:
+#0 /usr/local/src/phpunit/src/TextUI/ResultPrinter.php(163): SebastianBergmann\Environment\Console->getNumberOfColumns()
+#1 /usr/local/src/phpunit/src/Util/TestDox/CliTestDoxPrinter.php(51): PHPUnit\TextUI\ResultPrinter->__construct(NULL, false, 'never', false, 80, false)
+#2 /usr/local/src/phpunit/src/TextUI/TestRunner.php(310): PHPUnit\Util\TestDox\CliTestDoxPrinter->__construct(NULL, false, 'never', false, 80, false)
+#3 /usr/local/src/phpunit/src/TextUI/Command.php(206): PHPUnit\TextUI\TestRunner->doRun(Object(PHPUnit\Framework\TestSuite), Array, true)
+#4 /usr/local/src/phpunit/src/TextUI/Command.php(162): PHPUnit\TextUI\Command->run(Array, true)
+#5 Standard input code(8): PHPUnit\TextUI\Command::main()
+#6 {main}
+  thrown in /usr/local/src/phpunit/vendor/sebastian/environment/src/Console.php on line 55

/usr/local/src/phpunit/src/Framework/Constraint/Constraint.php:112
/usr/local/src/phpunit/src/Framework/Constraint/Constraint.php:60
/usr/local/src/phpunit/src/Framework/Assert.php:1855
/usr/local/src/phpunit/src/Framework/Assert.php:1555
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:277
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:166
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/TextUI/TestRunner.php:622
/usr/local/src/phpunit/src/TextUI/Command.php:206
/usr/local/src/phpunit/src/TextUI/Command.php:162

--

There were 4 skipped tests:

1) /usr/local/src/phpunit/tests/end-to-end/regression/GitHub/2085-enforce-time-limit-options-via-config-without-invoker.phpt
package phpunit/php-invoker is installed

/usr/local/src/phpunit/src/Runner/PhptTestCase.php:305
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:134
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/TextUI/TestRunner.php:622
/usr/local/src/phpunit/src/TextUI/Command.php:206
/usr/local/src/phpunit/src/TextUI/Command.php:162

2) /usr/local/src/phpunit/tests/end-to-end/regression/GitHub/2085-without-invoker.phpt
package phpunit/php-invoker is installed

/usr/local/src/phpunit/src/Runner/PhptTestCase.php:305
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:134
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/TextUI/TestRunner.php:622
/usr/local/src/phpunit/src/TextUI/Command.php:206
/usr/local/src/phpunit/src/TextUI/Command.php:162

3) /usr/local/src/phpunit/tests/end-to-end/regression/GitHub/2591-separate-function-no-preserve-no-bootstrap-php73.phpt
xdebug loaded

/usr/local/src/phpunit/src/Runner/PhptTestCase.php:305
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:134
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/TextUI/TestRunner.php:622
/usr/local/src/phpunit/src/TextUI/Command.php:206
/usr/local/src/phpunit/src/TextUI/Command.php:162

4) /usr/local/src/phpunit/tests/end-to-end/regression/GitHub/2591-separate-function-no-preserve-no-bootstrap.phpt
xdebug loaded

/usr/local/src/phpunit/src/Runner/PhptTestCase.php:305
/usr/local/src/phpunit/src/Runner/PhptTestCase.php:134
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/Framework/TestSuite.php:750
/usr/local/src/phpunit/src/TextUI/TestRunner.php:622
/usr/local/src/phpunit/src/TextUI/Command.php:206
/usr/local/src/phpunit/src/TextUI/Command.php:162

FAILURES!
Tests: 1989, Assertions: 3454, Failures: 156, Skipped: 4.
@sebastianbergmann
Copy link
Owner Author

CC @keradus

@sebastianbergmann
Copy link
Owner Author

sebastianbergmann commented Oct 23, 2018

The code of the Console class uses the constants \STDIN and \STDOUT, but these constants do not exist:

$ php -a
Interactive shell

php > var_dump(\STDIN);
PHP Warning:  Uncaught Error: Undefined constant 'STDIN' in php shell code:1
Stack trace:
#0 {main}
  thrown in php shell code on line 1
php > var_dump(\STDOUT);
PHP Warning:  Uncaught Error: Undefined constant 'STDOUT' in php shell code:1
Stack trace:
#0 {main}
  thrown in php shell code on line 1

Example usage: https://github.com/sebastianbergmann/environment/blob/master/src/Console.php#L55

@sebastianbergmann
Copy link
Owner Author

Previously, self::STDIN and self::STDOUT were used. See

if (!$this->isInteractive(self::STDIN)) {
for example.

@keradus I think that somewhere during cleanup this got lost and broken.

@sebastianbergmann
Copy link
Owner Author

Looks like STDIN and STDOUT are weird in that they do not seem to work in php -a. I still do not know how to fix this issue, though.

@sebastianbergmann
Copy link
Owner Author

@keradus
Copy link
Contributor

keradus commented Oct 23, 2018

Wow, I didn't expected PHPUnit to use php -a under the hood

If it's not declared, we can't have it as default parameter, which is use in compile time (and not runtime).
And still, we can have interactive (isInteractive) console using php -a.

Well, sadly, sth like #32 ?

@sebastianbergmann
Copy link
Owner Author

Not sure what PHPUnit does to cause this, but I am sure it's not php -a. Will look at #32 soon. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants