Nejdou spustit testy na PHP 8 pomocí vendor/bin/tester souboru
- Polki
- Člen | 553
Ahoj,
zkusil jsem testy nahodit přes pipelinu na gitu, ale docker trošku
pozlobil.
Používám:
Ubuntu 18
PHP 8.0.7
Nette 3
Když spouštím testy lokálně, tak vše běží. Jak ale zkusím spustit v dockeru ať už lokálně, nebo na GITu, tak se objeví tahle hláška:
Exited with error code 255 (expected 0)
Error: Call to undefined function Tester\token_get_all()
in src/Framework/Environment.php(197)
in src/Framework/FileMutator.php(150) Tester\Environment::Tester\{closure}()
in vendor/composer/ClassLoader.php(480) Tester\FileMutator->stream_open()
in vendor/composer/ClassLoader.php(480) include()
in vendor/composer/ClassLoader.php(346) Composer\Autoload\includeFile()
in mockery/library/Mockery.php(229) Composer\Autoload\ClassLoader->loadClass()
in mockery/library/Mockery.php(117) Mockery::getContainer()
in App/FCRTest.php(142) Mockery::mock()
in App/FCRTest.php(132) Tests\App\FCRTest->getContextMock()
in App/FCRTest.php(57) Tests\App\FCRTest->getContextFactoryMock()
in src/Framework/TestCase.php(158) Tests\App\FCRTest->sendArgs()
in src/Framework/TestCase.php(242) Tester\TestCase->getData()
in src/Framework/TestCase.php(96) Tester\TestCase->prepareTestData()
in src/Framework/TestCase.php(59) Tester\TestCase->runTest()
in App/FCRTest.php(157) Tester\TestCase->run()
Nějaké nápady, jak povolit, nebo něco udělat s Error: Call to
undefined function Tester\token_get_all()?
Díky moc
- Polki
- Člen | 553
Právě že nechybí. Toto jsou všechny extensiony, které mám povolené:
# php -m
[PHP Modules]
calendar
Core
ctype
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib
[Zend Modules]
Zend OPcache
- Polki
- Člen | 553
Hmm takže když spouštím testy takto:
# ./vendor/bin/tester ./Tests/ -c /etc/php/8.0/cli/
Tak mi to nebude fungovat, protože si ty extensiony není tester schopnej
natáhnout sám?
A jestli to tak je, proč tedy lokálně na Winech s nainstalovaným
WampServerem a spouštěním testů takto funguje?:
./vendor/bin/tester ./Tests/ -c D:\wamp64\bin\php\php8.0.6
- David Matějka
- Moderator | 6445
muzes:
- pouzit prepinac
-C
, aby se pouzival standardni php.ini config - pres
-c
nacist konfigurak - nastavit primo pres
-d extension=tokenizer.so
je to proto, ze jednotlive buildy php jsou hodne odlisne v tom, co maji bundled a co jako extensions