Refactor the framework test script for better modularity and maintenance
commitf7ea7e74e1fff79d8cbda79fe80db10e15030b90
authorJoel Marcey <joelm@fb.com>
Sun, 19 Jan 2014 00:54:10 +0000 (18 16:54 -0800)
committerSara Golemon <sgolemon@fb.com>
Mon, 20 Jan 2014 18:08:59 +0000 (20 10:08 -0800)
tree4e6762450969275fc8dd75d66a239c7934f96b36
parent4ecab8ca949f5f4588d04b0d98eb164fe69bef9d
Refactor the framework test script for better modularity and maintenance

I have wanted to break up run.php into its own files and refactor things a bit. So I am now doing that.

Note that the frameworks directory now contains the PHP for individual frameworks and that framework_downloads will contain the actual github code for the frameworks

During refactoring, I found some interesting new issues:

1. The recent changes to reflection (ext_reflection-classes.php, etc.) have caused my test finder to hiccup for cases where I find the tests with reflection. This may be bad code on my part; but I am not sure. Right now it seems the issues are coming with IsSubclassOf, but this is just a guess. I am trying to come up with a repo case.

2. The percentage of Magento2 has dropped into the upper 80% range. And this is due to some namespace fatals that are occurring. We need to dig into that. Note, that we are using a more recent git hash for Magento2 (instead of the August one as before) and they added more namespace support during that time. We are also seeing a drop in Drupal as well, but not to the same degree.

@ptarjan, this diff does not make the abstract Framework class public yet. That can be done in a subsequent diff :-)

Reviewed By: @ptarjan

Differential Revision: D1133446
38 files changed:
hphp/test/.gitignore
hphp/test/frameworks/Colors.php [new file with mode: 0644]
hphp/test/frameworks/Framework.php [new file with mode: 0644]
hphp/test/frameworks/Options.php [new file with mode: 0644]
hphp/test/frameworks/PHPUnitPatterns.php [new file with mode: 0644]
hphp/test/frameworks/ProxyInformation.php [new file with mode: 0644]
hphp/test/frameworks/Runner.php [new file with mode: 0644]
hphp/test/frameworks/Statuses.php [new file with mode: 0644]
hphp/test/frameworks/TestFinder.php
hphp/test/frameworks/frameworks.yaml
hphp/test/frameworks/frameworks/Assetic.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/CodeIgniter.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Composer.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Doctrine2.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Drupal.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/FacebookPhpSdk.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Idiorm.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Joomla.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/JoomlaCMS.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Laravel.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Magento2.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Mediawiki.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Monolog.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/PHPUnit.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Paris.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Pear.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/PhpMyAdmin.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Phpbb3.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Ratchet.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/ReactPHP.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/SilverStripe.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Slim.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Symfony.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Twig.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Yii.php [new file with mode: 0644]
hphp/test/frameworks/frameworks/Zf2.php [new file with mode: 0644]
hphp/test/frameworks/run.php
hphp/test/frameworks/utils.php