Make WordPress Core

Changeset 40239


Ignore:
Timestamp:
03/08/2017 12:00:47 AM (10 years ago)
Author:
johnbillion
Message:

Build/Test tools: In Travis, skip some tests when not on trunk.

This skips time sensitive tests (copyright year and PHP/MySQL version requirements) when tests are run on branches on Travis.

Props netweb, jorbin
Fixes #39486

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/pluggable.php

    r40183 r40239  
    901901        do_action( 'set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in' );
    902902
     903        /**
     904         * Allows preventing auth cookies from actually being sent to the client.
     905         *
     906         * @since 4.7.4
     907         *
     908         * @param bool $send Whether to send auth cookies to the client.
     909         */
     910        if ( ! apply_filters( 'send_auth_cookies', true ) ) {
     911                return;
     912        }
     913
    903914        setcookie($auth_cookie_name, $auth_cookie, $expire, PLUGINS_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
    904915        setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
     
    922933         */
    923934        do_action( 'clear_auth_cookie' );
     935
     936        /**
     937         * Allows preventing auth cookies from actually being sent to the client.
     938         *
     939         * @since 4.7.4
     940         *
     941         * @param bool $send Whether to send auth cookies to the client.
     942         */
     943        if ( ! apply_filters( 'send_auth_cookies', true ) ) {
     944                return;
     945        }
    924946
    925947        setcookie( AUTH_COOKIE,        ' ', time() - YEAR_IN_SECONDS, ADMIN_COOKIE_PATH,   COOKIE_DOMAIN );
  • trunk/tests/phpunit/includes/functions.php

    r39219 r40239  
    165165// Skip `setcookie` calls in auth_cookie functions due to warning:
    166166// Cannot modify header information - headers already sent by ...
    167 
    168 function wp_set_auth_cookie( $user_id, $remember = false, $secure = '', $token = '' ) {
    169         $auth_cookie = null;
    170         $expire = null;
    171         $expiration = null;
    172         $user_id = null;
    173         $scheme = null;
    174         /** This action is documented in wp-inclues/pluggable.php */
    175         do_action( 'set_auth_cookie', $auth_cookie, $expire, $expiration, $user_id, $scheme );
    176         $logged_in_cookie = null;
    177         /** This action is documented in wp-inclues/pluggable.php */
    178         do_action( 'set_logged_in_cookie', $logged_in_cookie, $expire, $expiration, $user_id, 'logged_in' );
    179 }
    180 
    181 function wp_clear_auth_cookie() {
    182         /** This action is documented in wp-inclues/pluggable.php */
    183         do_action( 'clear_auth_cookie' );
    184 }
     167tests_add_filter( 'send_auth_cookies', '__return_false' );
  • trunk/tests/phpunit/includes/testcase.php

    r39919 r40239  
    175175                $_POST = array();
    176176                self::flush_cache();
     177        }
     178
     179        /**
     180         * Allow tests to be skipped on some automated runs
     181         *
     182         * For test runs on Travis for something other than trunk/master
     183         * we want to skip tests that only need to run for master.
     184         */
     185        public function skipOnAutomatedBranches() {
     186                // gentenv can be disabled
     187                if ( ! function_exists( 'getenv' ) ) {
     188                        return false;
     189                }
     190
     191                // https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables
     192                $travis_branch       = getenv( 'TRAVIS_BRANCH' );
     193                $travis_pull_request = getenv( 'TRAVIS_PULL_REQUEST' );
     194
     195                if ( false !== $travis_pull_request && 'master' !== $travis_branch ) {
     196                        $this->markTestSkipped( 'For automated test runs, this test is only run on trunk/master' );
     197                }
    177198        }
    178199
  • trunk/tests/phpunit/tests/basic.php

    r39478 r40239  
    99
    1010        function test_license() {
     11                // This test is designed to only run on trunk/master
     12                $this->skipOnAutomatedBranches();
     13
    1114                $license = file_get_contents( ABSPATH . 'license.txt' );
    1215                preg_match( '#Copyright 2011-(\d+) by the contributors#', $license, $matches );
  • trunk/tests/phpunit/tests/external-http/basic.php

    r39583 r40239  
    66
    77        function test_readme() {
     8                // This test is designed to only run on trunk/master
     9                $this->skipOnAutomatedBranches();
     10
    811                $readme = file_get_contents( ABSPATH . 'readme.html' );
    912
Note: See TracChangeset for help on using the changeset viewer.