Zamrznuti Nette/Tester – Docker + php-fpm7.4
- Hadi.k
- Člen | 12
Bohuzel se mi jiz nekolik dni nedari rozchodit Nette/Tester v linuxovem docker container (php-fpm7.4).
Uplne stejny docker-compose mi pod MacOs bezi a testy se spusti a dobehnout. Samotny web, DTB i symphony/console bezi naprosto v pohode, ale kdyz spustim testy na server v tom containeru, naskoci akorat Tester logo info o verzi PHP a to je cele.
Pri blizsim debugovani jsem zjistil ze to zamrzne v Tester/Runner::run na tom prvni while cyklu. Tudiz predpokladam ze se testeru nelibi environment toho containeru a zacykli se to.
pouzite ext:
RUN docker-php-ext-install mysqli pdo_mysql bcmath mbstring intl opcache zip pcntl
Je tam tedy i pcntl ktery jsem myslel ze za to muze proto jsem ho tam pridal.
Nejvetsi zahada je ze to proste me na MacOS jede a na ubuntu s dockerem ne. (DigitalOcean), zkousel jsem i mnohem vetsi instance atd, ale naprosto stejny vysledek.
Nesetkal se s tim uz nekdo ? (muzu pripadne poskytnout cast docker-compose a Dockerfile ktere se toho tykaji).
EDIT: Sel jsem dal a vypada to ze to vyhniva na Job::run kde se vola
while($this->isRunning())
A tam nejspise radek 152
$this->test->stdout .= stream_get_contents($this->stdout);
Tudiz problem bude nejspise v stream_get_contents
Editoval Hadi.k (3. 2. 2020 15:13)
- Hadi.k
- Člen | 12
Tak vyreseno, a necekal bych ze problem bude tady :)
V boostrap.php pro testy je klasicke nacteni app slozky pro robotloader a ja
v te slozce mel nejake abstraktni tridy pro rozsireni testu (jmeno slozky tests
a soubory koncily *Test.php).
Presunul jsem je do slozky ROOT /tests/helpers/ a vyskipoval je a jede to
uz dobre.