Make WordPress Core

Changeset 60298


Ignore:
Timestamp:
06/11/2025 02:24:47 PM (15 months ago)
Author:
johnbillion
Message:

Build/Test Tools: Reduce the bcrypt cost during testing in order to speed up tests.

The lowest allowable cost in PHP is 4, so 5 is used which means tests can still to reduce the cost by one when testing alterations to the cost.

See #63026

Location:
trunk/tests/phpunit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/includes/abstract-testcase.php

    r60295 r60298  
    137137                $this->expectDeprecated();
    138138                add_filter( 'wp_die_handler', array( $this, 'get_wp_die_handler' ) );
     139                add_filter( 'wp_hash_password_options', array( $this, 'wp_hash_password_options' ), 1, 2 );
     140        }
     141
     142        /**
     143         * Sets the bcrypt cost option for password hashing during tests.
     144         *
     145         * @param array      $options   The options for password hashing.
     146         * @param string|int $algorithm The algorithm to use for hashing. This is a string in PHP 7.4+ and an integer in PHP 7.3 and earlier.
     147         */
     148        public function wp_hash_password_options( array $options, $algorithm ): array {
     149                if ( PASSWORD_BCRYPT === $algorithm ) {
     150                        $options['cost'] = 5;
     151                }
     152
     153                return $options;
    139154        }
    140155
  • trunk/tests/phpunit/tests/auth.php

    r60253 r60298  
    20902090
    20912091        private static function get_default_bcrypt_cost(): int {
    2092                 $hash = password_hash( 'password', PASSWORD_BCRYPT );
    2093                 $info = password_get_info( $hash );
    2094 
    2095                 return $info['options']['cost'];
     2092                return 5;
    20962093        }
    20972094}
Note: See TracChangeset for help on using the changeset viewer.