getSize() < 100000 ) { $testProviderArray[$frameworkName . "::" . $file->getBasename()] = [$file->getPathname(), $frameworkName]; } } } } if (count($testProviderArray) === 0) { throw new Exception("ERROR: Validation testsuite frameworks not found - run `git submodule update --init --recursive` to download."); } return $testProviderArray; } /** * @dataProvider frameworkErrorProvider */ public function testFramworkErrors($testCaseFile, $frameworkName) { $fileContents = file_get_contents($testCaseFile); $parser = ParserResourceFactory::getParser(); $docBlockFactory = DocBlockFactory::createInstance(); $index = new Index; $definitionResolver = ParserResourceFactory::getDefinitionResolver($index); $directory = __DIR__ . "/output/$frameworkName/"; $outFile = $directory . basename($testCaseFile); try { $document = new PhpDocument($testCaseFile, $fileContents, $index, $parser, $docBlockFactory, $definitionResolver); } catch (\Exception $e) { if (!file_exists($dir = __DIR__ . "/output")) { mkdir($dir); } if (!file_exists($directory)) { mkdir($directory); } file_put_contents($outFile, $fileContents); $this->fail((string)$e); } if (file_exists($outFile)) { unlink($outFile); } // echo json_encode($parser->getErrors($sourceFile)); } }