Zamrznuti Nette/Tester – Docker + php-fpm7.4

Hadi.k
Člen | 12
+
0
-

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
+
0
-

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.