Browse Source

Make test conditional on sqlite.

Only sqlite requires userland buffering.
mark_story 7 years ago
parent
commit
48c3dc99e7
1 changed files with 5 additions and 1 deletions
  1. 5 1
      tests/TestCase/Database/ConnectionTest.php

+ 5 - 1
tests/TestCase/Database/ConnectionTest.php

@@ -24,6 +24,7 @@ use Cake\Database\Log\QueryLogger;
 use Cake\Database\Retry\CommandRetry;
 use Cake\Database\Retry\ReconnectStrategy;
 use Cake\Database\StatementInterface;
+use Cake\Database\Statement\BufferedStatement;
 use Cake\Datasource\ConnectionManager;
 use Cake\Log\Log;
 use Cake\TestSuite\TestCase;
@@ -257,9 +258,12 @@ class ConnectionTest extends TestCase
      */
     public function testBufferedStatementCollectionWrappingStatement()
     {
+        $this->skipIf(
+            !($this->connection->getDriver() instanceof \Cake\Database\Driver\Sqlite),
+            'Only required for SQLite driver which does not support buffered results natively'
+        );
         $this->loadFixtures('Things');
         $statement = $this->connection->query('SELECT * FROM things LIMIT 3');
-        $statement->bufferResults(true);
 
         $collection = new Collection($statement);
         $result = $collection->extract('id')->toArray();