Make WordPress Core


Ignore:
Timestamp:
10/15/2015 08:34:08 PM (9 years ago)
Author:
ocean90
Message:

Tests: Don't preserve the global state for Ajax tests when using an external object cache.

Most of the Ajax tests are running in a separate PHP process, and thus PHPUnit attempts to preserve the global state from the parent process by serializing all globals. But this doesn't work for external object caches so we have to disable this "feature".

See #31491.

File:
1 edited

Legend:

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

    r26995 r35209  
    5050        'wp-remove-post-lock', 'dismiss-wp-pointer', 'heartbeat', 'nopriv_heartbeat',
    5151    );
     52
     53    /**
     54     * Don't preserve the global state when using an external object cache.
     55     *
     56     * Most of the Ajax tests are running in a separate PHP process, and thus PHPUnit attempts
     57     * to preserve the global state from the parent process by serializing all globals.
     58     * But this doesn't work for external object caches so we have to disable this "feature".
     59     */
     60    public function run( PHPUnit_Framework_TestResult $result = NULL ) {
     61        if ( wp_using_ext_object_cache() ) {
     62            $this->setPreserveGlobalState( false );
     63        }
     64
     65        return parent::run( $result );
     66    }
    5267
    5368    /**
Note: See TracChangeset for help on using the changeset viewer.