From 58c227681eaac594d2e63aa95557a5efd9661e37 Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Mon, 14 Nov 2011 18:37:25 +0100 Subject: [PATCH] Skipped tests when PDO is not available --- .../Bridge/Doctrine/DoctrineOrmTestCase.php | 3 +++ .../HttpKernel/Profiler/ProfilerTest.php | 4 ++++ .../Profiler/SqliteProfilerStorageTest.php | 3 +++ .../Acl/Dbal/AclProviderBenchmarkTest.php | 18 ++++++++++++------ .../Security/Acl/Dbal/AclProviderTest.php | 4 ++++ .../Acl/Dbal/MutableAclProviderTest.php | 4 ++++ 6 files changed, 30 insertions(+), 6 deletions(-) diff --git a/tests/Symfony/Tests/Bridge/Doctrine/DoctrineOrmTestCase.php b/tests/Symfony/Tests/Bridge/Doctrine/DoctrineOrmTestCase.php index d4647e8f56..238705e480 100644 --- a/tests/Symfony/Tests/Bridge/Doctrine/DoctrineOrmTestCase.php +++ b/tests/Symfony/Tests/Bridge/Doctrine/DoctrineOrmTestCase.php @@ -30,6 +30,9 @@ abstract class DoctrineOrmTestCase extends \PHPUnit_Framework_TestCase */ static public function createTestEntityManager($paths = array()) { + if (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers())) { + self::markTestSkipped('This test requires SQLite support in your environment'); + } $config = new \Doctrine\ORM\Configuration(); $config->setAutoGenerateProxyClasses(true); $config->setProxyDir(\sys_get_temp_dir()); diff --git a/tests/Symfony/Tests/Component/HttpKernel/Profiler/ProfilerTest.php b/tests/Symfony/Tests/Component/HttpKernel/Profiler/ProfilerTest.php index 60b25405b0..08fc4565d9 100644 --- a/tests/Symfony/Tests/Component/HttpKernel/Profiler/ProfilerTest.php +++ b/tests/Symfony/Tests/Component/HttpKernel/Profiler/ProfilerTest.php @@ -21,6 +21,10 @@ class ProfilerTest extends \PHPUnit_Framework_TestCase { public function testCollect() { + if (!class_exists('SQLite3') && (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers()))) { + $this->markTestSkipped('This test requires SQLite support in your environment'); + } + $request = new Request(); $request->query->set('foo', 'bar'); $response = new Response(); diff --git a/tests/Symfony/Tests/Component/HttpKernel/Profiler/SqliteProfilerStorageTest.php b/tests/Symfony/Tests/Component/HttpKernel/Profiler/SqliteProfilerStorageTest.php index f42127f532..1d525ec2e9 100644 --- a/tests/Symfony/Tests/Component/HttpKernel/Profiler/SqliteProfilerStorageTest.php +++ b/tests/Symfony/Tests/Component/HttpKernel/Profiler/SqliteProfilerStorageTest.php @@ -35,6 +35,9 @@ class SqliteProfilerStorageTest extends \PHPUnit_Framework_TestCase protected function setUp() { + if (!class_exists('SQLite3') && (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers()))) { + $this->markTestSkipped('This test requires SQLite support in your environment'); + } self::$storage->purge(); } diff --git a/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderBenchmarkTest.php b/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderBenchmarkTest.php index 28e5c8464d..a687aa018b 100644 --- a/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderBenchmarkTest.php +++ b/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderBenchmarkTest.php @@ -22,6 +22,7 @@ use Doctrine\DBAL\DriverManager; */ class AclProviderBenchmarkTest extends \PHPUnit_Framework_TestCase { + /** @var \Doctrine\DBAL\Connection */ protected $con; protected $insertClassStmt; protected $insertSidStmt; @@ -31,12 +32,17 @@ class AclProviderBenchmarkTest extends \PHPUnit_Framework_TestCase protected function setUp() { - $this->con = DriverManager::getConnection(array( - 'driver' => 'pdo_mysql', - 'host' => 'localhost', - 'user' => 'root', - 'dbname' => 'testdb', - )); + try { + $this->con = DriverManager::getConnection(array( + 'driver' => 'pdo_mysql', + 'host' => 'localhost', + 'user' => 'root', + 'dbname' => 'testdb', + )); + $this->con->connect(); + } catch (\Exception $e) { + $this->markTestSkipped('Unable to connect to the database: '.$e->getMessage()); + } } protected function tearDown() diff --git a/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderTest.php b/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderTest.php index 28b0127e86..ab62bb4ca2 100644 --- a/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderTest.php +++ b/tests/Symfony/Tests/Component/Security/Acl/Dbal/AclProviderTest.php @@ -127,6 +127,10 @@ class AclProviderTest extends \PHPUnit_Framework_TestCase if (!class_exists('Doctrine\DBAL\DriverManager')) { $this->markTestSkipped('The Doctrine2 DBAL is required for this test'); } + if (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers())) { + self::markTestSkipped('This test requires SQLite support in your environment'); + } + $this->con = DriverManager::getConnection(array( 'driver' => 'pdo_sqlite', 'memory' => true, diff --git a/tests/Symfony/Tests/Component/Security/Acl/Dbal/MutableAclProviderTest.php b/tests/Symfony/Tests/Component/Security/Acl/Dbal/MutableAclProviderTest.php index e314505de9..e96e3fabb3 100644 --- a/tests/Symfony/Tests/Component/Security/Acl/Dbal/MutableAclProviderTest.php +++ b/tests/Symfony/Tests/Component/Security/Acl/Dbal/MutableAclProviderTest.php @@ -432,6 +432,10 @@ class MutableAclProviderTest extends \PHPUnit_Framework_TestCase if (!class_exists('Doctrine\DBAL\DriverManager')) { $this->markTestSkipped('The Doctrine2 DBAL is required for this test'); } + if (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers())) { + self::markTestSkipped('This test requires SQLite support in your environment'); + } + $this->con = DriverManager::getConnection(array( 'driver' => 'pdo_sqlite', 'memory' => true,