Skip to content

Commit

Permalink
Merge branch 'bpo/2.9/#3662' into 2.9
Browse files Browse the repository at this point in the history
  • Loading branch information
morozov committed Oct 8, 2019
2 parents e738a71 + 367f86e commit a2bfa40
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions tests/Doctrine/Tests/DBAL/Functional/ExceptionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,27 @@
namespace Doctrine\Tests\DBAL\Functional;

use Doctrine\DBAL\Driver\ExceptionConverterDriver;
use Doctrine\DBAL\Driver\ServerInfoAwareConnection;
use Doctrine\DBAL\DriverManager;
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\Table;
use Doctrine\Tests\DbalFunctionalTestCase;
use Throwable;
use function array_merge;
use function assert;
use function chmod;
use function defined;
use function file_exists;
use function sprintf;
use function sys_get_temp_dir;
use function touch;
use function unlink;
use function version_compare;

class ExceptionTest extends DbalFunctionalTestCase
{
Expand Down Expand Up @@ -289,7 +296,7 @@ public function testSyntaxErrorException()
*/
public function testConnectionExceptionSqLite($mode, $exceptionClass)
{
if ($this->connection->getDatabasePlatform()->getName() !== 'sqlite') {
if ($this->connection->getDatabasePlatform() instanceof SqlitePlatform) {
$this->markTestSkipped('Only fails this way on sqlite');
}

Expand Down Expand Up @@ -333,18 +340,29 @@ public function getSqLiteOpenConnection()
*/
public function testConnectionException($params)
{
if ($this->connection->getDatabasePlatform()->getName() === 'sqlite') {
$platform = $this->connection->getDatabasePlatform();

if ($platform instanceof SqlitePlatform) {
$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');
}

if ($this->connection->getDatabasePlatform()->getName() === 'postgresql' && isset($params['password'])) {
if ($platform instanceof PostgreSqlPlatform && isset($params['password'])) {
$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();
$params = array_merge($defaultParams, $params);

Expand Down

0 comments on commit a2bfa40

Please sign in to comment.