diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2019-09-16 20:18:00 +0200 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-09-16 20:18:29 +0200 |
| commit | c1adb7a74e1736111bbd37b2289f874246185961 (patch) | |
| tree | 0e066f0445e713ff6c8f39259cca18aeffe46c7c /sapi/fuzzer/generate_parser_corpus.php | |
| parent | c4e2ca607f49d37564aaf34f5a48c5e59aca12a6 (diff) | |
| download | php-git-c1adb7a74e1736111bbd37b2289f874246185961.tar.gz | |
Move scripts out of corpus/ directory
Diffstat (limited to 'sapi/fuzzer/generate_parser_corpus.php')
| -rw-r--r-- | sapi/fuzzer/generate_parser_corpus.php | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sapi/fuzzer/generate_parser_corpus.php b/sapi/fuzzer/generate_parser_corpus.php new file mode 100644 index 0000000000..e8d27e189b --- /dev/null +++ b/sapi/fuzzer/generate_parser_corpus.php @@ -0,0 +1,22 @@ +<?php + +$testsDir = __DIR__ . '/../../Zend/tests/'; +$it = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator($testsDir), + RecursiveIteratorIterator::LEAVES_ONLY +); + +$corpusDir = __DIR__ . '/corpus/parser'; +@mkdir($corpusDir); + +foreach ($it as $file) { + if (!preg_match('/\.phpt$/', $file)) continue; + $code = file_get_contents($file); + if (!preg_match('/--FILE--(.*)--EXPECT/s', $code, $matches)) continue; + $code = $matches[1]; + + $outFile = str_replace($testsDir, '', $file); + $outFile = str_replace('/', '_', $outFile); + $outFile = $corpusDir . '/' . $outFile; + file_put_contents($outFile, $code); +} |
