Conversation
|
Hey @osbre, I fixed the bug with AI, but I have no clue if it also broke something. Would you mind checking? |
… settings The `test_adds_script_with_ignored_pages` test assumed the plugin was already active from a previous test, but PHPUnit tests run in isolation and execution order isn't guaranteed. - Add `activatePluginIfNeeded()` helper to BrowserTestCase that conditionally activates the plugin only if not already active - Update `test_adds_script_with_ignored_pages` to use the helper This ensures the test works regardless of execution order or whether the plugin is already activated.
|
I'll take it from here, thank you @adriaandotcom! It's nice to see the CI pass at this stage. Here's a bit history on the previous progress: At first, I completed all the test cases in PestPHP's newest browsing testing feature, which uses Playwright underneath. Unfortunately, I had some of the weirdest instability issues and browser failures where they shouldn't have been. The tests were passing, but once I re-ran them 8 times on GitHub CI, they would start failing. I couldn't figure out what was the reason for spontaneous timeouts, so I started by replacing the web server from PHP's built-in one to FrankenPHP. It didn't solve it. I made the decision to move away from anything powered by Playwright. Currently, I'm in the process of rewriting it to Symfony's Panther and zenstruck/browser library and seeing whether I'd be able to get rid of random timeouts this way. Although now that I look at it, the shadow dom likely played a role here. |
|
Sounds good @osbre, let me know if you need any help! |
This reverts commit a2f564d.
|
Let me know how I can make this faster, @osbre |
|
@adriaandotcom I'll take another look and should have it done by tomorrow 3pm (London / GMT). Thanks for the ping, had quite a few things going on lately 👀 Upd 2pm: looking into it now. Upd 2: Coming slighly later today. Upd 3 Wed morning: stil on it. Upd 4: Thursday WIP Upd 5: today Wed 8th Apr. |
(In progress. Will force-push and mark as "Ready" when finished)