From 4a3a36952255601f261599d1bbabe7dbde1bc005 Mon Sep 17 00:00:00 2001 From: Greg Kuwaye Date: Wed, 16 Jan 2019 20:22:54 -0800 Subject: [PATCH 1/6] Update to allow php5.6 and phpunit 4.x compatibility --- Dockerfile | 2 +- composer.json | 4 ++-- src/FlaptasticListener.php | 20 ++++++++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index c245132..0e6c712 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.1-cli +FROM php:5.6-cli # Work out of this directory WORKDIR /usr/flaptastic diff --git a/composer.json b/composer.json index 354d5ad..5be6d3c 100644 --- a/composer.json +++ b/composer.json @@ -12,11 +12,11 @@ } ], "require": { - "php": ">=7.1.0", + "php": ">=5.6.0", "guzzlehttp/guzzle": ">=6.0.0" }, "require-dev": { - "phpunit/phpunit": ">=7.0.0" + "phpunit/phpunit": ">=4.0.0 <5.0.0" }, "autoload": { "psr-4": { diff --git a/src/FlaptasticListener.php b/src/FlaptasticListener.php index fd685b6..9df97a9 100644 --- a/src/FlaptasticListener.php +++ b/src/FlaptasticListener.php @@ -160,47 +160,47 @@ private function missingEnvVarsDetected() { return false; } - public function addError(\PHPUnit\Framework\Test $test, \Throwable $e, float $time): void + public function addError(PHPUnit_Framework_Test $test, Exception $e, $time) { $this->testType = 'error'; $this->testException = $e; } - public function addWarning(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\Warning $e, float $time): void + public function addWarning(PHPUnit_Framework_Test $test, \PHPUnit\Framework\Warning $e, $time) { $this->testType = 'warning'; } - public function addFailure(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\AssertionFailedError $e, float $time): void + public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time) { $this->testType = 'failure'; $this->testException = $e; } - public function addIncompleteTest(\PHPUnit\Framework\Test $test, \Throwable $e, float $time): void + public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time) { // We are not interested in incomplete tests and they are ultimately ignored. $this->testType = 'incomplete'; } - public function addRiskyTest(\PHPUnit\Framework\Test $test, \Throwable $e, float $time): void + public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time) { // We dont care if php happens to deem a test is risky. } - public function addSkippedTest(\PHPUnit\Framework\Test $test, \Throwable $e, float $time): void + public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time) { $this->testType = 'skipped'; } - public function startTest(\PHPUnit\Framework\Test $test): void + public function startTest(PHPUnit_Framework_Test $test) { // Assume tests all pass. $this->testType = 'passed'; $this->testException = null; } - public function endTest(\PHPUnit\Framework\Test $test, float $time): void + public function endTest(PHPUnit_Framework_Test $test, $time) { if ($this->testType == 'passed') { $this->addPassedTest($test); @@ -209,7 +209,7 @@ public function endTest(\PHPUnit\Framework\Test $test, float $time): void } } - public function startTestSuite(\PHPUnit\Framework\TestSuite $suite): void + public function startTestSuite(PHPUnit_Framework_TestSuite $suite) { $this->testSuite = $suite; if (!static::$FLAPTASTIC_INTRODUCED) { @@ -228,7 +228,7 @@ public function startTestSuite(\PHPUnit\Framework\TestSuite $suite): void } } - public function endTestSuite(\PHPUnit\Framework\TestSuite $suite): void + public function endTestSuite(PHPUnit_Framework_TestSuite $suite) { if (count($this->buffer)) { $this->occasionallyDeliver(); From 55a050d9f6b621888cacaeced02b091a3eab32dc Mon Sep 17 00:00:00 2001 From: Jonathan Block Date: Thu, 17 Jan 2019 23:41:08 -0800 Subject: [PATCH 2/6] Update FlaptasticListener.php --- src/FlaptasticListener.php | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/FlaptasticListener.php b/src/FlaptasticListener.php index 9df97a9..aaaabf2 100644 --- a/src/FlaptasticListener.php +++ b/src/FlaptasticListener.php @@ -2,13 +2,10 @@ namespace BlockJon\PHPUnit\Listener; -use PHPUnit\Framework\TestListener; - - /** * Integrates with flaptastic.com to expose flappy test information. */ -class FlaptasticListener implements TestListener +class FlaptasticListener implements \PHPUnit_Framework_TestListener { public static $FLAPTASTIC_INTRODUCED = false; @@ -160,47 +157,47 @@ private function missingEnvVarsDetected() { return false; } - public function addError(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addError(\PHPUnit_Framework_Test $test, Exception $e, $time) { $this->testType = 'error'; $this->testException = $e; } - public function addWarning(PHPUnit_Framework_Test $test, \PHPUnit\Framework\Warning $e, $time) + public function addWarning(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_Warning $e, $time) { $this->testType = 'warning'; } - public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time) + public function addFailure(\PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time) { $this->testType = 'failure'; $this->testException = $e; } - public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addIncompleteTest(\PHPUnit_Framework_Test $test, Exception $e, $time) { // We are not interested in incomplete tests and they are ultimately ignored. $this->testType = 'incomplete'; } - public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addRiskyTest(\PHPUnit_Framework_Test $test, Exception $e, $time) { // We dont care if php happens to deem a test is risky. } - public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addSkippedTest(\PHPUnit_Framework_Test $test, Exception $e, $time) { $this->testType = 'skipped'; } - public function startTest(PHPUnit_Framework_Test $test) + public function startTest(\PHPUnit_Framework_Test $test) { // Assume tests all pass. $this->testType = 'passed'; $this->testException = null; } - public function endTest(PHPUnit_Framework_Test $test, $time) + public function endTest(\PHPUnit_Framework_Test $test, $time) { if ($this->testType == 'passed') { $this->addPassedTest($test); @@ -209,7 +206,7 @@ public function endTest(PHPUnit_Framework_Test $test, $time) } } - public function startTestSuite(PHPUnit_Framework_TestSuite $suite) + public function startTestSuite(\PHPUnit_Framework_TestSuite $suite) { $this->testSuite = $suite; if (!static::$FLAPTASTIC_INTRODUCED) { @@ -228,7 +225,7 @@ public function startTestSuite(PHPUnit_Framework_TestSuite $suite) } } - public function endTestSuite(PHPUnit_Framework_TestSuite $suite) + public function endTestSuite(\PHPUnit_Framework_TestSuite $suite) { if (count($this->buffer)) { $this->occasionallyDeliver(); From 9953e8730e770bafb64a209c65310cf11a3f3a8c Mon Sep 17 00:00:00 2001 From: Jonathan Block Date: Thu, 17 Jan 2019 23:48:21 -0800 Subject: [PATCH 3/6] Update FlaptasticListener.php --- src/FlaptasticListener.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FlaptasticListener.php b/src/FlaptasticListener.php index aaaabf2..e29cfc4 100644 --- a/src/FlaptasticListener.php +++ b/src/FlaptasticListener.php @@ -168,7 +168,7 @@ public function addWarning(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_War $this->testType = 'warning'; } - public function addFailure(\PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time) + public function addFailure(\PHPUnit_Framework_Test $test, PHPUnit_Framework_ExpectationFailedException $e, $time) { $this->testType = 'failure'; $this->testException = $e; From 7b2e56e6ba23f260559bc9a736c538182fb1ab43 Mon Sep 17 00:00:00 2001 From: Jonathan Block Date: Thu, 17 Jan 2019 23:53:01 -0800 Subject: [PATCH 4/6] Update FlaptasticListener.php --- src/FlaptasticListener.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FlaptasticListener.php b/src/FlaptasticListener.php index e29cfc4..dda451d 100644 --- a/src/FlaptasticListener.php +++ b/src/FlaptasticListener.php @@ -168,7 +168,7 @@ public function addWarning(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_War $this->testType = 'warning'; } - public function addFailure(\PHPUnit_Framework_Test $test, PHPUnit_Framework_ExpectationFailedException $e, $time) + public function addFailure(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_AssertionFailedError $e, $time) { $this->testType = 'failure'; $this->testException = $e; From f2650da2a553ecbde16a559c9b6657214baaf676 Mon Sep 17 00:00:00 2001 From: Jonathan Block Date: Fri, 18 Jan 2019 02:04:34 -0800 Subject: [PATCH 5/6] Fixes --- src/FlaptasticListener.php | 41 +++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/src/FlaptasticListener.php b/src/FlaptasticListener.php index 9df97a9..53fdfdc 100644 --- a/src/FlaptasticListener.php +++ b/src/FlaptasticListener.php @@ -2,13 +2,10 @@ namespace BlockJon\PHPUnit\Listener; -use PHPUnit\Framework\TestListener; - - /** * Integrates with flaptastic.com to expose flappy test information. */ -class FlaptasticListener implements TestListener +class FlaptasticListener implements \PHPUnit_Framework_TestListener { public static $FLAPTASTIC_INTRODUCED = false; @@ -37,10 +34,18 @@ function __construct() { } public function getTestFailureFileAndLine($e) { - return (object) [ - "file" => $e->getFile(), - "line" => $e->getLine() - ]; + if (is_subclass_of($e, '\PHPUnit_Framework_Exception')) { + $result = explode(":", trim(\PHPUnit_Util_Filter::getFilteredStacktrace($e))); + return (object) [ + "file" => $result[0], + "line" => $result[1] + ]; + } else { + return (object) [ + "file" => $e->getFile(), + "line" => $e->getLine() + ]; + } } private function exceptionSite($file, $targetLineNumber) { @@ -160,47 +165,47 @@ private function missingEnvVarsDetected() { return false; } - public function addError(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addError(\PHPUnit_Framework_Test $test, Exception $e, $time) { $this->testType = 'error'; $this->testException = $e; } - public function addWarning(PHPUnit_Framework_Test $test, \PHPUnit\Framework\Warning $e, $time) + public function addWarning(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_Warning $e, $time) { $this->testType = 'warning'; } - public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time) + public function addFailure(\PHPUnit_Framework_Test $test, \PHPUnit_Framework_AssertionFailedError $e, $time) { $this->testType = 'failure'; $this->testException = $e; } - public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addIncompleteTest(\PHPUnit_Framework_Test $test, Exception $e, $time) { // We are not interested in incomplete tests and they are ultimately ignored. $this->testType = 'incomplete'; } - public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addRiskyTest(\PHPUnit_Framework_Test $test, Exception $e, $time) { // We dont care if php happens to deem a test is risky. } - public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time) + public function addSkippedTest(\PHPUnit_Framework_Test $test, Exception $e, $time) { $this->testType = 'skipped'; } - public function startTest(PHPUnit_Framework_Test $test) + public function startTest(\PHPUnit_Framework_Test $test) { // Assume tests all pass. $this->testType = 'passed'; $this->testException = null; } - public function endTest(PHPUnit_Framework_Test $test, $time) + public function endTest(\PHPUnit_Framework_Test $test, $time) { if ($this->testType == 'passed') { $this->addPassedTest($test); @@ -209,7 +214,7 @@ public function endTest(PHPUnit_Framework_Test $test, $time) } } - public function startTestSuite(PHPUnit_Framework_TestSuite $suite) + public function startTestSuite(\PHPUnit_Framework_TestSuite $suite) { $this->testSuite = $suite; if (!static::$FLAPTASTIC_INTRODUCED) { @@ -228,7 +233,7 @@ public function startTestSuite(PHPUnit_Framework_TestSuite $suite) } } - public function endTestSuite(PHPUnit_Framework_TestSuite $suite) + public function endTestSuite(\PHPUnit_Framework_TestSuite $suite) { if (count($this->buffer)) { $this->occasionallyDeliver(); From 7b501380914137710368781a765ce09e05ab1ed6 Mon Sep 17 00:00:00 2001 From: Jonathan Block Date: Sun, 20 Jan 2019 00:51:38 -0800 Subject: [PATCH 6/6] fix --- src/FlaptasticListener.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/FlaptasticListener.php b/src/FlaptasticListener.php index 53fdfdc..0274d79 100644 --- a/src/FlaptasticListener.php +++ b/src/FlaptasticListener.php @@ -36,16 +36,17 @@ function __construct() { public function getTestFailureFileAndLine($e) { if (is_subclass_of($e, '\PHPUnit_Framework_Exception')) { $result = explode(":", trim(\PHPUnit_Util_Filter::getFilteredStacktrace($e))); - return (object) [ - "file" => $result[0], - "line" => $result[1] - ]; - } else { - return (object) [ - "file" => $e->getFile(), - "line" => $e->getLine() - ]; + if (count($result) == 2) { + return (object) [ + "file" => $result[0], + "line" => $result[1] + ]; + } } + return (object) [ + "file" => $e->getFile(), + "line" => $e->getLine() + ]; } private function exceptionSite($file, $targetLineNumber) {