npr / nprapi-wordpress

Access the NPR API from within WordPress. This repository is no longer being maintained. See the README for more information.
GNU General Public License v2.0
13 stars 30 forks source link

Expand tests to modern WordPress versions and PHP versions #46

Closed benlk closed 6 years ago

benlk commented 6 years ago

Changes

In .travis.yml, and thus in the automated tests that run on Travis CI:

Why

This PR expands the versions tested because we want to make sure that the plugin is compatible with recent PHP and WordPress versions. The simple way to do that is to enumerate a list of WordPress versions and a list of PHP versions, and then run the tests at each intersection. Not only is this approach inefficient, it causes problems when old versions of WordPress include a test suite that assumes an old version of PHPUnit, which is not available when Travis CI only offers one version of PHPUnit per PHP version.

Based on research in npr/pmp-php-sdk#36, Travis CI runs tests using the following PHPUnit versions:

Reasons that given versions of WordPress have tests incompatible with travis-ci.org:

  1. There are PHP warnings about deprecated PHP-4-style constructors.
  2. Requires PHPUnit 5 because PHPUnit 6 support was not included until WordPress 4.7.
  3. Unless there's been an update since this trac thread, WordPress tests still assume PHPUnit 6, and Travis runs PHP 7.2 tests using PHPUnit 7
phpunit 5.7 6.4 6.4 7.0
php 5.6 7.0 7.1 7.2
WP wp release year then-current php
3.8 1 1 1 2013
3.9 1 1 1 2014 5.5
4.0 1 1 1 2014 5.5
4.1 1 1 1 2014 5.5
4.2 2 2 2 2015 5.6
4.3 2 2 2 2015 5.6
4.4 2 2 2 2015 7.0
4.5 2 2 2 2016 7.0
4.6 2 2 2 2016 7.0
4.7 2 2 2 2016 7.1
4.8 3 2017 7.1
4.9 3 2017 7.2