Mentioned in T220514#5235708.
maintenance/install.php --with-extensions silently skip extensions that lack another extension dependency. It used to break with an exception. The result is that CI ends up not testing some extensions at all since they are not loaded.
That comes from https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/461280/
The root cause is Installer::findExtensionsByType() which just skip faulty extensions. A summary would be:
$status = $this->getExtensionInfo( $type, $directory, $file ); if ( $status->isOK() ) { $exts[$file] = $status->value; } return $exts;
Which gets its informations from Installer::getExtensionInfo:
if ( $isJson ) { $jsonStatus = $this->readExtension( $fullJsonFile ); if ( !$jsonStatus->isOK() ) { return $jsonStatus; } $info += $jsonStatus->value; }
Since $jsonStatus is not ok, the extension is not added :-(