A --parallel eddig két okból nem működött volna:
1. A setUp() a parent::setUp() ELŐTT hívja a refreshApplication()-t, hogy a DB
nevét a RefreshDatabase előtt ellenőrizhesse. A Laravel viszont a
ParallelTesting::callSetUpTestCaseCallbacks()-ot csak az "if (! $this->app)"
ágban futtatja (InteractsWithTestCaseLifecycle), ami így kimaradt - a
processzenkénti adatbázis sosem jött létre, minden processz a közös
d2dTest-et migrálta volna egyszerre. A callbacket most magunk hívjuk meg;
nem párhuzamos futásnál no-op.
2. A névellenőrzés pontos "d2dtest" egyezést várt, és eltérésnél nem hibát
dobott, hanem VISSZAÍRTA a configot d2dTest-re - vagyis csendben közös
adatbázisra terelte volna a processzeket.
A név mostantól a /^d2dtest(_test_\d+)?$/ mintát követi, ami a Laravel
TestDatabases::testDatabase() elnevezését fedi le. Szándékosan nem
str_starts_with($db, 'd2d'): az átengedné az éles adatbázist is. Az éles d2d
elleni azonnali exit(1) változatlan.
Ellenőrizve: tiszta lapról a párhuzamos futás létrehozta a d2dtest_test_1..6
adatbázisokat, a sima futás változatlanul működik.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>