session: Add debug message for the used store class
authorTimo Tijhof <krinklemail@gmail.com>
Wed, 16 Oct 2019 22:41:01 +0000 (23:41 +0100)
committerKrinkle <krinklemail@gmail.com>
Fri, 18 Oct 2019 12:53:12 +0000 (12:53 +0000)
Follows-up 70cb2664805.

Bug: T234361
Change-Id: Ifd6616b1a31f6cb915ec553865e999fcd974784e
(cherry picked from commit f2e6fab93ff0d45c95498146b022c761c5bbcd14)

includes/session/SessionManager.php
tests/phpunit/includes/session/PHPSessionHandlerTest.php
tests/phpunit/includes/session/SessionManagerTest.php

index a3380ff..79193d6 100644 (file)
@@ -177,6 +177,7 @@ final class SessionManager implements SessionManagerInterface {
                } else {
                        $store = \ObjectCache::getInstance( $this->config->get( 'SessionCacheType' ) );
                }
+               $this->logger->debug( 'SessionManager using store ' . get_class( $store ) );
                $this->store = $store instanceof CachedBagOStuff ? $store : new CachedBagOStuff( $store );
 
                register_shutdown_function( [ $this, 'shutdown' ] );
index 94ccd4b..fdaa336 100644 (file)
@@ -71,7 +71,10 @@ class PHPSessionHandlerTest extends MediaWikiTestCase {
                ini_set( 'session.use_trans_sid', 1 );
 
                $store = new TestBagOStuff();
-               $logger = new \TestLogger();
+               // Tolerate debug message, anything else is unexpected
+               $logger = new \TestLogger( false, function ( $m ) {
+                       return preg_match( '/^SessionManager using store/', $m ) ? null : $m;
+               } );
                $manager = new SessionManager( [
                        'store' => $store,
                        'logger' => $logger,
@@ -147,6 +150,7 @@ class PHPSessionHandlerTest extends MediaWikiTestCase {
                $expect = [ 'AuthenticationSessionTest' => $rand ];
                session_write_close();
                $this->assertSame( [
+                       [ LogLevel::DEBUG, 'SessionManager using store MediaWiki\Session\TestBagOStuff' ],
                        [ LogLevel::WARNING, 'Something wrote to $_SESSION!' ],
                ], $logger->getBuffer() );
 
index b2f525d..3b4009e 100644 (file)
@@ -34,7 +34,9 @@ class SessionManagerTest extends MediaWikiTestCase {
                        ]
                ] );
                $this->logger = new \TestLogger( false, function ( $m ) {
-                       return substr( $m, 0, 15 ) === 'SessionBackend ' ? null : $m;
+                       return ( strpos( $m, 'SessionBackend ' ) === 0
+                               || strpos( $m, 'SessionManager using store ' ) === 0
+                       ) ? null : $m;
                } );
                $this->store = new TestBagOStuff();