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 PHP 7.4 on Travis #157

Closed

Conversation

WyriHaximus
Copy link
Member

No description provided.

@clue
Copy link
Member

clue commented Feb 5, 2020

@WyriHaximus Thanks for looking into this, the failing test case due to a garbage reference on PHP 7.4 only is interesting.

I can not reproduce this problem locally using this Docker container:

$ docker run -it --rm -v `pwd`:/data --workdir=/data php:7.4 php -d memory_limit=-1 vendor/bin/phpunit

It looks like this could be related to the particular installation or some extensions (xdebug)? Do you have any further insights?

@clue
Copy link
Member

clue commented Feb 5, 2020

I can also not reproduce the problem with PHP 7.4 and Xdebug installed, so this cause is still unknown:

docker run -it --rm -v `pwd`:/data --workdir=/data ubuntu bash
apt update
apt -y install software-properties-common
add-apt-repository ppa:ondrej/php
apt install -y php7.4-cli php7.4-xdebug php7.4-dom php7.4-mbstring
php -v
vendor/bin/phpunit

@WyriHaximus
Copy link
Member Author

@clue pretty sure this has to do with the ordering of tests, when the tests are executed in the order they are in the DeferredTest file it fails for me

@WyriHaximus
Copy link
Member Author

@clue can you run it with --filter DeferredTest --debug since the order seems to matter?

@clue
Copy link
Member

clue commented Feb 7, 2020

@WyriHaximus Not sure I follow what you're suggesting. The below command executes just fine:

$ docker run -it --rm -v `pwd`:/data --workdir=/data php:7.4 php -d memory_limit=-1 vendor/bin/phpunit --filter DeferredTest --debug

Does this work for you as well? Can you reproduce the problem locally? You mentioned some ordering issues, not sure how to reproduce this locally at the moment (plus I don't see anything changed in this PR in this regard).

@WyriHaximus
Copy link
Member Author

@clue what is the output for you?

@clue
Copy link
Member

clue commented Feb 7, 2020

Getting the same (successful) output for origin/master and your PR checked out:

PHPUnit 7.5.20 by Sebastian Bergmann and contributors.

Test 'React\Promise\DeferredTest::shouldRejectWithoutCreatingGarbageCyclesIfCancellerRejectsWithException' started
Test 'React\Promise\DeferredTest::shouldRejectWithoutCreatingGarbageCyclesIfCancellerRejectsWithException' ended
Test 'React\Promise\DeferredTest::shouldRejectWithoutCreatingGarbageCyclesIfParentCancellerRejectsWithException' started
Test 'React\Promise\DeferredTest::shouldRejectWithoutCreatingGarbageCyclesIfParentCancellerRejectsWithException' ended
Test 'React\Promise\DeferredTest::shouldRejectWithoutCreatingGarbageCyclesIfCancellerHoldsReferenceAndExplicitlyRejectWithException' started
Test 'React\Promise\DeferredTest::shouldRejectWithoutCreatingGarbageCyclesIfCancellerHoldsReferenceAndExplicitlyRejectWithException' ended
Test 'React\Promise\DeferredTest::thenShouldReturnAPromiseForPendingPromise' started
Test 'React\Promise\DeferredTest::thenShouldReturnAPromiseForPendingPromise' ended
Test 'React\Promise\DeferredTest::thenShouldReturnAllowNullForPendingPromise' started
Test 'React\Promise\DeferredTest::thenShouldReturnAllowNullForPendingPromise' ended
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForPendingPromise' started
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForPendingPromise' ended
Test 'React\Promise\DeferredTest::doneShouldReturnNullForPendingPromise' started
Test 'React\Promise\DeferredTest::doneShouldReturnNullForPendingPromise' ended
Test 'React\Promise\DeferredTest::doneShouldReturnAllowNullForPendingPromise' started
Test 'React\Promise\DeferredTest::doneShouldReturnAllowNullForPendingPromise' ended
Test 'React\Promise\DeferredTest::otherwiseShouldNotInvokeRejectionHandlerForPendingPromise' started
Test 'React\Promise\DeferredTest::otherwiseShouldNotInvokeRejectionHandlerForPendingPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldReturnAPromiseForPendingPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldReturnAPromiseForPendingPromise' ended
Test 'React\Promise\DeferredTest::thenShouldReturnAPromiseForSettledPromise' started
Test 'React\Promise\DeferredTest::thenShouldReturnAPromiseForSettledPromise' ended
Test 'React\Promise\DeferredTest::thenShouldReturnAllowNullForSettledPromise' started
Test 'React\Promise\DeferredTest::thenShouldReturnAllowNullForSettledPromise' ended
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForSettledPromise' started
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForSettledPromise' ended
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectForSettledPromise' started
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectForSettledPromise' ended
Test 'React\Promise\DeferredTest::doneShouldReturnNullForSettledPromise' started
Test 'React\Promise\DeferredTest::doneShouldReturnNullForSettledPromise' ended
Test 'React\Promise\DeferredTest::doneShouldReturnAllowNullForSettledPromise' started
Test 'React\Promise\DeferredTest::doneShouldReturnAllowNullForSettledPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldReturnAPromiseForSettledPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldReturnAPromiseForSettledPromise' ended
Test 'React\Promise\DeferredTest::fulfilledPromiseShouldBeImmutable' started
Test 'React\Promise\DeferredTest::fulfilledPromiseShouldBeImmutable' ended
Test 'React\Promise\DeferredTest::fulfilledPromiseShouldInvokeNewlyAddedCallback' started
Test 'React\Promise\DeferredTest::fulfilledPromiseShouldInvokeNewlyAddedCallback' ended
Test 'React\Promise\DeferredTest::thenShouldForwardResultWhenCallbackIsNull' started
Test 'React\Promise\DeferredTest::thenShouldForwardResultWhenCallbackIsNull' ended
Test 'React\Promise\DeferredTest::thenShouldForwardCallbackResultToNextCallback' started
Test 'React\Promise\DeferredTest::thenShouldForwardCallbackResultToNextCallback' ended
Test 'React\Promise\DeferredTest::thenShouldForwardPromisedCallbackResultValueToNextCallback' started
Test 'React\Promise\DeferredTest::thenShouldForwardPromisedCallbackResultValueToNextCallback' ended
Test 'React\Promise\DeferredTest::thenShouldSwitchFromCallbacksToErrbacksWhenCallbackReturnsARejection' started
Test 'React\Promise\DeferredTest::thenShouldSwitchFromCallbacksToErrbacksWhenCallbackReturnsARejection' ended
Test 'React\Promise\DeferredTest::thenShouldSwitchFromCallbacksToErrbacksWhenCallbackThrows' started
Test 'React\Promise\DeferredTest::thenShouldSwitchFromCallbacksToErrbacksWhenCallbackThrows' ended
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForFulfilledPromise' started
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectForFulfilledPromise' started
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::doneShouldInvokeFulfillmentHandlerForFulfilledPromise' started
Test 'React\Promise\DeferredTest::doneShouldInvokeFulfillmentHandlerForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorThrownFulfillmentHandlerForFulfilledPromise' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorThrownFulfillmentHandlerForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorUnhandledRejectionExceptionWhenFulfillmentHandlerRejectsForFulfilledPromise' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorUnhandledRejectionExceptionWhenFulfillmentHandlerRejectsForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::otherwiseShouldNotInvokeRejectionHandlerForFulfilledPromise' started
Test 'React\Promise\DeferredTest::otherwiseShouldNotInvokeRejectionHandlerForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueForFulfilledPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsANonPromiseForFulfilledPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsANonPromiseForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsAPromiseForFulfilledPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsAPromiseForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForFulfilledPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForFulfilledPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForFulfilledPromise' ended
Test 'React\Promise\DeferredTest::rejectedPromiseShouldBeImmutable' started
Test 'React\Promise\DeferredTest::rejectedPromiseShouldBeImmutable' ended
Test 'React\Promise\DeferredTest::rejectedPromiseShouldInvokeNewlyAddedCallback' started
Test 'React\Promise\DeferredTest::rejectedPromiseShouldInvokeNewlyAddedCallback' ended
Test 'React\Promise\DeferredTest::shouldForwardUndefinedRejectionValue' started
Test 'React\Promise\DeferredTest::shouldForwardUndefinedRejectionValue' ended
Test 'React\Promise\DeferredTest::shouldSwitchFromErrbacksToCallbacksWhenErrbackDoesNotExplicitlyPropagate' started
Test 'React\Promise\DeferredTest::shouldSwitchFromErrbacksToCallbacksWhenErrbackDoesNotExplicitlyPropagate' ended
Test 'React\Promise\DeferredTest::shouldSwitchFromErrbacksToCallbacksWhenErrbackReturnsAResolution' started
Test 'React\Promise\DeferredTest::shouldSwitchFromErrbacksToCallbacksWhenErrbackReturnsAResolution' ended
Test 'React\Promise\DeferredTest::shouldPropagateRejectionsWhenErrbackThrows' started
Test 'React\Promise\DeferredTest::shouldPropagateRejectionsWhenErrbackThrows' ended
Test 'React\Promise\DeferredTest::shouldPropagateRejectionsWhenErrbackReturnsARejection' started
Test 'React\Promise\DeferredTest::shouldPropagateRejectionsWhenErrbackReturnsARejection' ended
Test 'React\Promise\DeferredTest::doneShouldInvokeRejectionHandlerForRejectedPromise' started
Test 'React\Promise\DeferredTest::doneShouldInvokeRejectionHandlerForRejectedPromise' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionThrownByRejectionHandlerForRejectedPromise' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionThrownByRejectionHandlerForRejectedPromise' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorRejectionExceptionWhenRejectionHandlerRejectsWithExceptionForRejectedPromise' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorRejectionExceptionWhenRejectionHandlerRejectsWithExceptionForRejectedPromise' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionProvidedAsRejectionValueForRejectedPromise' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionProvidedAsRejectionValueForRejectedPromise' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorWithDeepNestingPromiseChainsForRejectedPromise' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorWithDeepNestingPromiseChainsForRejectedPromise' ended
Test 'React\Promise\DeferredTest::doneShouldRecoverWhenRejectionHandlerCatchesExceptionForRejectedPromise' started
Test 'React\Promise\DeferredTest::doneShouldRecoverWhenRejectionHandlerCatchesExceptionForRejectedPromise' ended
Test 'React\Promise\DeferredTest::otherwiseShouldInvokeRejectionHandlerForRejectedPromise' started
Test 'React\Promise\DeferredTest::otherwiseShouldInvokeRejectionHandlerForRejectedPromise' ended
Test 'React\Promise\DeferredTest::otherwiseShouldInvokeNonTypeHintedRejectionHandlerIfReasonIsAnExceptionForRejectedPromise' started
Test 'React\Promise\DeferredTest::otherwiseShouldInvokeNonTypeHintedRejectionHandlerIfReasonIsAnExceptionForRejectedPromise' ended
Test 'React\Promise\DeferredTest::otherwiseShouldInvokeRejectionHandlerIfReasonMatchesTypehintForRejectedPromise' started
Test 'React\Promise\DeferredTest::otherwiseShouldInvokeRejectionHandlerIfReasonMatchesTypehintForRejectedPromise' ended
Test 'React\Promise\DeferredTest::otherwiseShouldNotInvokeRejectionHandlerIfReaonsDoesNotMatchTypehintForRejectedPromise' started
Test 'React\Promise\DeferredTest::otherwiseShouldNotInvokeRejectionHandlerIfReaonsDoesNotMatchTypehintForRejectedPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionForRejectedPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionForRejectedPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsANonPromiseForRejectedPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsANonPromiseForRejectedPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsAPromiseForRejectedPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsAPromiseForRejectedPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForRejectedPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForRejectedPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForRejectedPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForRejectedPromise' ended
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForRejectedPromise' started
Test 'React\Promise\DeferredTest::cancelShouldReturnNullForRejectedPromise' ended
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectForRejectedPromise' started
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectForRejectedPromise' ended
Test 'React\Promise\DeferredTest::resolveShouldResolve' started
Test 'React\Promise\DeferredTest::resolveShouldResolve' ended
Test 'React\Promise\DeferredTest::resolveShouldResolveWithPromisedValue' started
Test 'React\Promise\DeferredTest::resolveShouldResolveWithPromisedValue' ended
Test 'React\Promise\DeferredTest::resolveShouldRejectWhenResolvedWithRejectedPromise' started
Test 'React\Promise\DeferredTest::resolveShouldRejectWhenResolvedWithRejectedPromise' ended
Test 'React\Promise\DeferredTest::resolveShouldForwardValueWhenCallbackIsNull' started
Test 'React\Promise\DeferredTest::resolveShouldForwardValueWhenCallbackIsNull' ended
Test 'React\Promise\DeferredTest::resolveShouldMakePromiseImmutable' started
Test 'React\Promise\DeferredTest::resolveShouldMakePromiseImmutable' ended
Test 'React\Promise\DeferredTest::resolveShouldRejectWhenResolvedWithItself' started
Test 'React\Promise\DeferredTest::resolveShouldRejectWhenResolvedWithItself' ended
Test 'React\Promise\DeferredTest::resolveShouldRejectWhenResolvedWithAPromiseWhichFollowsItself' started
Test 'React\Promise\DeferredTest::resolveShouldRejectWhenResolvedWithAPromiseWhichFollowsItself' ended
Test 'React\Promise\DeferredTest::doneShouldInvokeFulfillmentHandler' started
Test 'React\Promise\DeferredTest::doneShouldInvokeFulfillmentHandler' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionThrownFulfillmentHandler' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionThrownFulfillmentHandler' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorUnhandledRejectionExceptionWhenFulfillmentHandlerRejects' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorUnhandledRejectionExceptionWhenFulfillmentHandlerRejects' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValue' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValue' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsANonPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsANonPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsAPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressValueWhenHandlerReturnsAPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForFulfillment' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForFulfillment' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForFulfillment' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForFulfillment' ended
Test 'React\Promise\DeferredTest::rejectShouldRejectWithAnException' started
Test 'React\Promise\DeferredTest::rejectShouldRejectWithAnException' ended
Test 'React\Promise\DeferredTest::rejectShouldForwardReasonWhenCallbackIsNull' started
Test 'React\Promise\DeferredTest::rejectShouldForwardReasonWhenCallbackIsNull' ended
Test 'React\Promise\DeferredTest::rejectShouldMakePromiseImmutable' started
Test 'React\Promise\DeferredTest::rejectShouldMakePromiseImmutable' ended
Test 'React\Promise\DeferredTest::rejectShouldInvokeOtherwiseHandler' started
Test 'React\Promise\DeferredTest::rejectShouldInvokeOtherwiseHandler' ended
Test 'React\Promise\DeferredTest::doneShouldInvokeRejectionHandler' started
Test 'React\Promise\DeferredTest::doneShouldInvokeRejectionHandler' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionThrownByRejectionHandler' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionThrownByRejectionHandler' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorRejectionExceptionWhenRejectionHandlerRejectsWithException' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorRejectionExceptionWhenRejectionHandlerRejectsWithException' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorUnhandledRejectionExceptionWhenRejectionHandlerRetunsPendingPromiseWhichRejectsLater' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorUnhandledRejectionExceptionWhenRejectionHandlerRetunsPendingPromiseWhichRejectsLater' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionProvidedAsRejectionValue' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorExceptionProvidedAsRejectionValue' ended
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorWithDeepNestingPromiseChains' started
Test 'React\Promise\DeferredTest::doneShouldTriggerFatalErrorWithDeepNestingPromiseChains' ended
Test 'React\Promise\DeferredTest::doneShouldRecoverWhenRejectionHandlerCatchesException' started
Test 'React\Promise\DeferredTest::doneShouldRecoverWhenRejectionHandlerCatchesException' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejection' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejection' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsANonPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsANonPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsAPromise' started
Test 'React\Promise\DeferredTest::alwaysShouldNotSuppressRejectionWhenHandlerReturnsAPromise' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForRejection' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerThrowsForRejection' ended
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForRejection' started
Test 'React\Promise\DeferredTest::alwaysShouldRejectWhenHandlerRejectsForRejection' ended
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerWithResolverArguments' started
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerWithResolverArguments' ended
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerWithoutArgumentsIfNotAccessed' started
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerWithoutArgumentsIfNotAccessed' ended
Test 'React\Promise\DeferredTest::cancelShouldFulfillPromiseIfCancellerFulfills' started
Test 'React\Promise\DeferredTest::cancelShouldFulfillPromiseIfCancellerFulfills' ended
Test 'React\Promise\DeferredTest::cancelShouldRejectPromiseIfCancellerRejects' started
Test 'React\Promise\DeferredTest::cancelShouldRejectPromiseIfCancellerRejects' ended
Test 'React\Promise\DeferredTest::cancelShouldRejectPromiseWithExceptionIfCancellerThrows' started
Test 'React\Promise\DeferredTest::cancelShouldRejectPromiseWithExceptionIfCancellerThrows' ended
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerOnlyOnceIfCancellerResolves' started
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerOnlyOnceIfCancellerResolves' ended
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectIfCancellerDoesNothing' started
Test 'React\Promise\DeferredTest::cancelShouldHaveNoEffectIfCancellerDoesNothing' ended
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerFromDeepNestedPromiseChain' started
Test 'React\Promise\DeferredTest::cancelShouldCallCancellerFromDeepNestedPromiseChain' ended
Test 'React\Promise\DeferredTest::cancelCalledOnChildrenSouldOnlyCancelWhenAllChildrenCancelled' started
Test 'React\Promise\DeferredTest::cancelCalledOnChildrenSouldOnlyCancelWhenAllChildrenCancelled' ended
Test 'React\Promise\DeferredTest::cancelShouldTriggerCancellerWhenAllChildrenCancel' started
Test 'React\Promise\DeferredTest::cancelShouldTriggerCancellerWhenAllChildrenCancel' ended
Test 'React\Promise\DeferredTest::cancelShouldNotTriggerCancellerWhenCancellingOneChildrenMultipleTimes' started
Test 'React\Promise\DeferredTest::cancelShouldNotTriggerCancellerWhenCancellingOneChildrenMultipleTimes' ended
Test 'React\Promise\DeferredTest::cancelShouldTriggerCancellerOnlyOnceWhenCancellingMultipleTimes' started
Test 'React\Promise\DeferredTest::cancelShouldTriggerCancellerOnlyOnceWhenCancellingMultipleTimes' ended
Test 'React\Promise\DeferredTest::cancelShouldAlwaysTriggerCancellerWhenCalledOnRootPromise' started
Test 'React\Promise\DeferredTest::cancelShouldAlwaysTriggerCancellerWhenCalledOnRootPromise' ended
Test 'React\Promise\DeferredTest::cancelShouldTriggerCancellerWhenFollowerCancels' started
Test 'React\Promise\DeferredTest::cancelShouldTriggerCancellerWhenFollowerCancels' ended
Test 'React\Promise\DeferredTest::cancelShouldNotTriggerCancellerWhenCancellingOnlyOneFollower' started
Test 'React\Promise\DeferredTest::cancelShouldNotTriggerCancellerWhenCancellingOnlyOneFollower' ended
Test 'React\Promise\DeferredTest::cancelCalledOnFollowerShouldOnlyCancelWhenAllChildrenAndFollowerCancelled' started
Test 'React\Promise\DeferredTest::cancelCalledOnFollowerShouldOnlyCancelWhenAllChildrenAndFollowerCancelled' ended
Test 'React\Promise\DeferredTest::cancelShouldNotTriggerCancellerWhenCancellingFollowerButNotChildren' started
Test 'React\Promise\DeferredTest::cancelShouldNotTriggerCancellerWhenCancellingFollowerButNotChildren' ended


Time: 73 ms, Memory: 6.00 MB

�[30;42mOK (107 tests, 182 assertions)�[0m

Are you seeing something different? If so, I would love find a way to reproduce this locally.

@WyriHaximus
Copy link
Member Author

Together with @CharlotteDunois we've narrowed it down to it only happening when collecting code coverage

@WyriHaximus WyriHaximus force-pushed the test-php-7.4 branch 3 times, most recently from 4b69575 to e7c043f Compare February 15, 2020 18:32
@WyriHaximus
Copy link
Member Author

@clue @jsor ok took a bit longer than expected but this PR is now ready for review

Copy link
Member

@clue clue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WyriHaximus Good to see this failure can be avoided by skipping some tests when code coverage is turned on, but I would still like to get a better understanding why this causes issues in the first place.

Is this something that's somehow bugged in Xdebug and should be reported upstream or does this actually reveal some obscure memory issue in this library?

@WyriHaximus
Copy link
Member Author

@WyriHaximus Good to see this failure can be avoided by skipping some tests when code coverage is turned on, but I would still like to get a better understanding why this causes issues in the first place.

Same, but bht I'm not sure how easy it is to figure that out, and not sure if it's worth holding 3.0 off for.

Is this something that's somehow bugged in Xdebug and should be reported upstream or does this actually reveal some obscure memory issue in this library?

It only happens when you try to collect code coverage using xdebug from phpunit. This is why I'm added the run without code coverage to ensure we don't run into this bug when we don't collect code coverage. To be honest, I have no clue whether this is in this package, or upstream in xdebuyg

@ghost
Copy link

ghost commented Feb 23, 2020

@WyriHaximus Probably worth a try to use pcov instead of xdebug to collect coverage to see whether it's an upstream bug?

@WyriHaximus
Copy link
Member Author

@CharlotteDunois issues still persist when using ext-pcov, so it's either in this package, or in phpunit :(.

We're doing this because certain tests have memory leaks only when code coverage is collected.
@WyriHaximus
Copy link
Member Author

Closed via #162

@clue clue removed this from the v3.0.0 milestone Jul 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants