WordPress.org

Make WordPress Core

Ticket #46149: 46149-test-bootstrap-improve-composer-command.patch

File 46149-test-bootstrap-improve-composer-command.patch, 3.2 KB (added by jrf, 3 months ago)

Test bootstrap: refine the Composer command mentioned in error messages

  • tests/phpunit/includes/bootstrap.php

    From fe1f6d6e5f55a5a4e3e46b3f91fda373c540aba4 Mon Sep 17 00:00:00 2001
    From: jrfnl <jrfnl@users.noreply.github.com>
    Date: Mon, 20 Sep 2021 18:14:29 +0200
    Subject: [PATCH] Test bootstrap: improve Composer command
    
    `composer update` will update the direct dependencies, `composer update -W` will update the dependencies including *their* dependencies, which is the recommended course of action for WP.
    ---
     tests/phpunit/includes/bootstrap.php | 8 ++++----
     1 file changed, 4 insertions(+), 4 deletions(-)
    
    diff --git a/tests/phpunit/includes/bootstrap.php b/tests/phpunit/includes/bootstrap.php
    index 5d6ded0bcb..f366c8ce03 100644
    a b if ( version_compare( $phpunit_version, '5.7.21', '<' ) ) { 
    6666 * {@link https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/#test-running-workflow-options}
    6767 *
    6868 * Plugin/theme integration tests can handle this in any of the following ways:
    69  * - When using a full WP install: run `composer update` for the WP install prior to running the tests.
     69 * - When using a full WP install: run `composer update -W` for the WP install prior to running the tests.
    7070 * - When using a partial WP test suite install:
    7171 *   - Add a `yoast/phpunit-polyfills` (dev) requirement to the plugin/theme's own `composer.json` file.
    7272 *   - And then:
    if ( ! class_exists( 'Yoast\PHPUnitPolyfills\Autoload' ) ) { 
    112112                        echo 'The WP_TESTS_PHPUNIT_POLYFILLS_PATH constant should contain an absolute path to the root directory'
    113113                                . ' of the PHPUnit Polyfills library.' . PHP_EOL;
    114114                } elseif ( defined( 'WP_RUN_CORE_TESTS' ) && WP_RUN_CORE_TESTS ) {
    115                         echo 'You need to run `composer update` before running the tests.' . PHP_EOL;
     115                        echo 'You need to run `composer update -W` before running the tests.' . PHP_EOL;
    116116                        echo 'Once the dependencies are installed, you can run the tests using the Composer-installed version'
    117117                                . ' of PHPUnit or using a PHPUnit phar file, but the dependencies do need to be installed'
    118118                                . ' whichever way the tests are run.' . PHP_EOL;
    if ( ! class_exists( 'Yoast\PHPUnitPolyfills\Autoload' ) ) { 
    123123                                . ' or set the absolute path to the PHPUnit Polyfills library in a "WP_TESTS_PHPUNIT_POLYFILLS_PATH"'
    124124                                . ' constant to allow the WP Core bootstrap to load the Polyfills.' . PHP_EOL . PHP_EOL;
    125125                        echo 'If you are trying to run the WP Core tests, make sure to set the "WP_RUN_CORE_TESTS" constant'
    126                                 . ' to 1 and run `composer update` before running the tests.' . PHP_EOL;
     126                                . ' to 1 and run `composer update -W` before running the tests.' . PHP_EOL;
    127127                        echo 'Once the dependencies are installed, you can run the tests using the Composer-installed'
    128128                                . ' version of PHPUnit or using a PHPUnit phar file, but the dependencies do need to be'
    129129                                . ' installed whichever way the tests are run.' . PHP_EOL;
    if ( class_exists( '\Yoast\PHPUnitPolyfills\Autoload' ) 
    157157                        $phpunit_polyfills_minimum_version
    158158                );
    159159        } elseif ( defined( 'WP_RUN_CORE_TESTS' ) && WP_RUN_CORE_TESTS ) {
    160                 echo 'Please run `composer update` to install the latest version.' . PHP_EOL;
     160                echo 'Please run `composer update -W` to install the latest version.' . PHP_EOL;
    161161        }
    162162        exit( 1 );
    163163}