in 8.5.x core I have this error:
TypeError: Argument 8 passed to Drupal\ultimate_cron\UltimateCron::__construct() must implement interface Drupal\Core\Config\ConfigFactoryInterface, instance of Drupal\Component\Datetime\Time given, called in /srv/realty/agent/web/core/lib/Drupal/Component/DependencyInjection/Container.php on line 294 in Drupal\ultimate_cron\UltimateCron->__construct() (line 44 of /srv/realty/agent/web/modules/contrib/ultimate_cron/src/UltimateCron.php)
| Comment | File | Size | Author |
|---|---|---|---|
| #11 | ultimatecron_class_fix-2919408-11.patch | 3.44 KB | alphawebgroup |
Comments
Comment #2
alphawebgroupHere is a patch with fix
Comment #3
alphawebgroupComment #4
berdirThanks for the patch, but this hard to keep working on both 8.4 and 8.5, so lets try the approach that I recently documented on https://www.md-systems.ch/en/blog/techblog/2016/12/17/how-to-safely-inje..., remove the constructor and instead add a setConfigFactory() method.
Setting to critical as this breaks tests here as well as in projects that have integration tests like Monitoring.
Comment #5
alphawebgroupComment #6
alphawebgroupRefactored.
please review
Comment #8
alphawebgroupalso the
/src/Tests/LoggerWebTest.phptest have been fixedComment #9
alphawebgroupso, it looks like 8.4.x and 8.5.x have different html structure for the cron job log page
that's why the test fails with 8.4.x and 8.3.x what is pretty clear from the test logs
there 2 variants of the line 98 in /src/Tests/LoggerWebTest.php
this one is correct for 8.5.x
and another one is correct for 8.4.x and 8.3.x
@Berdit
anyway, it needs your review and advice
Comment #10
berdirYeah, that's because it is a view now in 8.5.x.
There are a few things that we could do, one is check the first xpath, if that finds nothing, fall back to the other. We could also do an explicit version check on \Drupal::VERSION.
The changes for the service looks great.
Comment #11
alphawebgrouptest is fixed now
@Berdit
please review
Comment #12
alphawebgroupComment #14
alphawebgroupit looks like there are some other stuff in fails of PHP 5.6 & MySQL 5.5, D8.5
not related to the module
Comment #15
alphawebgroupComment #16
berdirThanks!
Yes, those are caused by a new feature in Drupal 8.5. I've now changed our configuration to run tests against the supported release (which is currently 8.4) by default.
Committed, of course that also means this wouldn't actually fail anymore, but it still makes sense to have it fixed for other modules and so on and to be prepared.