protected static function get_coverage_info(string $fulldir): ?phpunit_coverage_info {
        $coverageconfig = "{$fulldir}/tests/coverage.php";
        if (file_exists($coverageconfig)) {
            $coverageinfo = require($coverageconfig);
            if (!$coverageinfo instanceof phpunit_coverage_info) {
                throw new \coding_exception("{$coverageconfig} does not return a phpunit_coverage_info");
            }

            return $coverageinfo;
        }

        return null;
    }