You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Timeouts for "robot-name" exercise during composer ci locally. It was not a problem at all with PHPUnit 9.6 (not even a noticable delay). XDEBUG_MODE=off doesn't help as much as it did for other exercises. Can be solved by replacing assertArrayNotHasKey($name, $names, ... with assertFalse(isset($names[$name]), .... This reduces runtime from minutes to milliseconds. Problem exists with PHPUnit >= 10.4 || < 11 Test timeout issues #683
PHPUnit attributes, not annotations (annotations are deprecated, but still available)
Update test generator to produce attributes not annotations
Convert tests from annotations to attributes. Use rector/rector for that
Revert performance workaround in "robot-name" exercise (requires PHPUnit >= 11)
In the whole process, try to avoid re-running the representer and not to trigger re-testing all community solutions. These are very costly to Exercism.
This is what I think must be done:
XDEBUG_MODE=offsolves this issue (XDebug is "more active" in default mode than before)XDEBUG_MODE=offrequired to get CI passing without timeouts (in CI Add PHPUnit 10 and PHP 8.3 #656)composer cilocally. It was not a problem at all with PHPUnit 9.6 (not even a noticable delay).XDEBUG_MODE=offdoesn't help as much as it did for other exercises. Can be solved by replacingassertArrayNotHasKey($name, $names, ...withassertFalse(isset($names[$name]), .... This reduces runtime from minutes to milliseconds. Problem exists with PHPUnit >= 10.4 || < 11 Test timeout issues #683timeout 54s <command>as a process based limit per exercise (3x 18 seconds, see forum for calculation details) Test timeout issues #683XDEBUG_MODE=offfor performance reasons. Upgrade to PHP 8.3 and PHPUnit 10 php-test-runner#105XDEBUG_MODE=offfor performance reasons Coordination: Prepare for students code using PHP 8.3 php-representer#155Post-upgrade to modernize further:
rector/rectorfor thatIn the whole process, try to avoid re-running the representer and not to trigger re-testing all community solutions. These are very costly to Exercism.