Make WordPress Core

Changeset 47492


Ignore:
Timestamp:
03/22/2020 02:44:14 PM (4 years ago)
Author:
SergeyBiryukov
Message:

When asserting microtime output as a number, make it a number.

microtime is by default a string. Doing a greater then or less than check of that string is a bad idea since it uses the first part (the micro part of microtime) rather then the actual time. This adds a helper to convert microtime output into a float which we can then use to properly compare the output of microtime.

This fixes an intermittent test failure.

Props jorbin.
Merges [30337] to the 3.7 branch.
See #30336, #49485.

Location:
branches/3.7
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/3.7

  • branches/3.7/tests/phpunit/includes/testcase.php

    r47343 r47492  
    163163        }
    164164    }
    165    
     165
    166166    function flush_cache() {
    167167        global $wp_object_cache;
     
    466466        return $files;
    467467    }
     468
     469    /**
     470     * Helper to Convert a microtime string into a float
     471     */
     472    protected function _microtime_to_float($microtime ){
     473        $time_array = explode( ' ', $microtime );
     474        return array_sum( $time_array );
     475    }
    468476}
  • branches/3.7/tests/phpunit/tests/post/getPages.php

    r25976 r47492  
    8080        // This should bump last_changed.
    8181        wp_delete_post( $pages[0]->ID );
    82         $this->assertGreaterThan( $last_changed, wp_cache_get( 'last_changed', 'posts' ) );
     82        $old_changed_float = $this->_microtime_to_float( $last_changed );
     83        $new_changed_float = $this->_microtime_to_float( wp_cache_get( 'last_changed', 'posts' ) );
     84        $this->assertGreaterThan( $old_changed_float, $new_changed_float );
    8385
    8486        $num_queries = $wpdb->num_queries;
Note: See TracChangeset for help on using the changeset viewer.