Unverified Commit 54b52aed authored by Marco Pivetta's avatar Marco Pivetta Committed by GitHub

Merge pull request #3662 from morozov/disable-mysql8-auth-test

Marked connection exception test incomplete on MySQL 8
parents f0aca96d 97157032
...@@ -3,14 +3,20 @@ ...@@ -3,14 +3,20 @@
namespace Doctrine\Tests\DBAL\Functional; namespace Doctrine\Tests\DBAL\Functional;
use Doctrine\DBAL\Driver\ExceptionConverterDriver; use Doctrine\DBAL\Driver\ExceptionConverterDriver;
use Doctrine\DBAL\Driver\ServerInfoAwareConnection;
use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\DriverManager;
use Doctrine\DBAL\Exception; use Doctrine\DBAL\Exception;
use Doctrine\DBAL\Platforms\DrizzlePlatform;
use Doctrine\DBAL\Platforms\MySqlPlatform;
use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
use Doctrine\DBAL\Platforms\SqlitePlatform;
use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Schema;
use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\Table;
use Doctrine\Tests\DbalFunctionalTestCase; use Doctrine\Tests\DbalFunctionalTestCase;
use Throwable; use Throwable;
use const PHP_OS; use const PHP_OS;
use function array_merge; use function array_merge;
use function assert;
use function chmod; use function chmod;
use function exec; use function exec;
use function file_exists; use function file_exists;
...@@ -20,6 +26,7 @@ use function sprintf; ...@@ -20,6 +26,7 @@ use function sprintf;
use function sys_get_temp_dir; use function sys_get_temp_dir;
use function touch; use function touch;
use function unlink; use function unlink;
use function version_compare;
class ExceptionTest extends DbalFunctionalTestCase class ExceptionTest extends DbalFunctionalTestCase
{ {
...@@ -289,7 +296,7 @@ class ExceptionTest extends DbalFunctionalTestCase ...@@ -289,7 +296,7 @@ class ExceptionTest extends DbalFunctionalTestCase
public function testConnectionExceptionSqLite() : void public function testConnectionExceptionSqLite() : void
{ {
if ($this->connection->getDatabasePlatform()->getName() !== 'sqlite') { if ($this->connection instanceof SqlitePlatform) {
$this->markTestSkipped('Only fails this way on sqlite'); $this->markTestSkipped('Only fails this way on sqlite');
} }
...@@ -343,18 +350,29 @@ EOT ...@@ -343,18 +350,29 @@ EOT
*/ */
public function testConnectionException(array $params) : void public function testConnectionException(array $params) : void
{ {
if ($this->connection->getDatabasePlatform()->getName() === 'sqlite') { $platform = $this->connection->getDatabasePlatform();
if ($platform instanceof SqlitePlatform) {
$this->markTestSkipped('Only skipped if platform is not sqlite'); $this->markTestSkipped('Only skipped if platform is not sqlite');
} }
if ($this->connection->getDatabasePlatform()->getName() === 'drizzle') { if ($platform instanceof DrizzlePlatform) {
$this->markTestSkipped('Drizzle does not always support authentication'); $this->markTestSkipped('Drizzle does not always support authentication');
} }
if ($this->connection->getDatabasePlatform()->getName() === 'postgresql' && isset($params['password'])) { if ($platform instanceof PostgreSqlPlatform && isset($params['password'])) {
$this->markTestSkipped('Does not work on Travis'); $this->markTestSkipped('Does not work on Travis');
} }
if ($platform instanceof MySqlPlatform && isset($params['user'])) {
$wrappedConnection = $this->connection->getWrappedConnection();
assert($wrappedConnection instanceof ServerInfoAwareConnection);
if (version_compare($wrappedConnection->getServerVersion(), '8', '>=')) {
$this->markTestIncomplete('PHP currently does not completely support MySQL 8');
}
}
$defaultParams = $this->connection->getParams(); $defaultParams = $this->connection->getParams();
$params = array_merge($defaultParams, $params); $params = array_merge($defaultParams, $params);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment