From b09f5964d9ecde51ae7cedecdf1e85778fc49a7d Mon Sep 17 00:00:00 2001
From: Kirill Shcherbatov <kshcherbatov@tarantool.org>
Date: Wed, 20 Jun 2018 17:06:59 +0300
Subject: [PATCH] sql: enable multi-engine tests for SQL

Configured sql tests to set 'pragma sql_engine_default' on start.
This allows to test both vinyl and memtx engines for SQL.

Resolves #2199.
---
 test/sql-tap/analyze9.test.lua                |  1 +
 test/sql-tap/engine.cfg                       |  9 ++++
 test/sql-tap/lua/sqltester.lua                |  9 +++-
 test/sql-tap/suite.ini                        |  1 +
 test/sql/app.lua                              |  3 +-
 test/sql/check-clear-ephemeral.result         |  6 +++
 test/sql/check-clear-ephemeral.test.lua       |  3 +-
 test/sql/checks.result                        |  6 +++
 test/sql/checks.test.lua                      |  2 +
 test/sql/clear.result                         |  6 +++
 test/sql/clear.test.lua                       |  2 +
 test/sql/collation.result                     |  9 ++++
 test/sql/collation.test.lua                   |  3 ++
 test/sql/delete-multiple-idx.result           |  6 +++
 test/sql/delete-multiple-idx.test.lua         |  2 +
 test/sql/delete.result                        |  6 +++
 test/sql/delete.test.lua                      |  2 +
 test/sql/drop-index.result                    |  6 +++
 test/sql/drop-index.test.lua                  |  2 +
 test/sql/drop-table.result                    |  6 +++
 test/sql/drop-table.test.lua                  |  2 +
 test/sql/engine.cfg                           |  6 +++
 test/sql/engine.result                        | 42 +++++++++++++++++++
 test/sql/engine.test.lua                      | 17 ++++++++
 test/sql/errinj.result                        |  9 ++++
 test/sql/errinj.test.lua                      |  3 ++
 test/sql/gh-2929-primary-key.result           |  9 ++++
 test/sql/gh-2929-primary-key.test.lua         |  4 ++
 test/sql/gh-2981-check-autoinc.result         |  9 ++++
 test/sql/gh-2981-check-autoinc.test.lua       |  4 ++
 test/sql/gh-3199-no-mem-leaks.result          |  6 +++
 test/sql/gh-3199-no-mem-leaks.test.lua        |  2 +
 .../gh2141-delete-trigger-drop-table.result   |  6 +++
 .../gh2141-delete-trigger-drop-table.test.lua |  2 +
 test/sql/gh2251-multiple-update.result        |  6 +++
 test/sql/gh2251-multiple-update.test.lua      |  2 +
 .../gh2483-remote-persistency-check.result    |  6 +++
 .../gh2483-remote-persistency-check.test.lua  |  2 +
 ...808-inline-unique-persistency-check.result |  6 +++
 ...8-inline-unique-persistency-check.test.lua |  2 +
 test/sql/icu-upper-lower.result               |  6 +++
 test/sql/icu-upper-lower.test.lua             |  2 +
 test/sql/insert-unique.result                 |  6 +++
 test/sql/insert-unique.test.lua               |  2 +
 test/sql/iproto.result                        |  9 ++++
 test/sql/iproto.test.lua                      |  3 ++
 test/sql/max-on-index.result                  |  6 +++
 test/sql/max-on-index.test.lua                |  2 +
 test/sql/message-func-indexes.result          |  6 +++
 test/sql/message-func-indexes.test.lua        |  2 +
 test/sql/misc.result                          |  9 ++++
 test/sql/misc.test.lua                        |  4 ++
 test/sql/on-conflict.result                   |  6 +++
 test/sql/on-conflict.test.lua                 |  2 +
 test/sql/persistency.result                   |  6 +++
 test/sql/persistency.test.lua                 |  2 +
 test/sql/savepoints.result                    |  6 +++
 test/sql/savepoints.test.lua                  |  2 +
 test/sql/select-null.result                   |  6 +++
 test/sql/select-null.test.lua                 |  2 +
 test/sql/sql-statN-index-drop.result          |  6 +++
 test/sql/sql-statN-index-drop.test.lua        |  2 +
 test/sql/suite.ini                            |  1 +
 test/sql/tokenizer.result                     |  6 +++
 test/sql/tokenizer.test.lua                   |  2 +
 test/sql/transition.result                    |  9 ++++
 test/sql/transition.test.lua                  |  4 ++
 test/sql/transitive-transactions.result       |  7 ++++
 test/sql/transitive-transactions.test.lua     |  3 ++
 test/sql/triggers.result                      |  6 +++
 test/sql/triggers.test.lua                    |  2 +
 test/sql/update-with-nested-select.result     |  6 +++
 test/sql/update-with-nested-select.test.lua   |  2 +
 test/sql/upgrade.result                       |  6 +++
 test/sql/upgrade.test.lua                     |  2 +
 test/sql/view.result                          |  6 +++
 test/sql/view.test.lua                        |  2 +
 test/sql/view_delayed_wal.result              |  6 +++
 test/sql/view_delayed_wal.test.lua            |  2 +
 79 files changed, 401 insertions(+), 3 deletions(-)
 create mode 100644 test/sql-tap/engine.cfg
 create mode 100644 test/sql/engine.cfg
 create mode 100644 test/sql/engine.result
 create mode 100644 test/sql/engine.test.lua

diff --git a/test/sql-tap/analyze9.test.lua b/test/sql-tap/analyze9.test.lua
index 3b3d52f67e..4292929103 100755
--- a/test/sql-tap/analyze9.test.lua
+++ b/test/sql-tap/analyze9.test.lua
@@ -20,6 +20,7 @@ testprefix = "analyze9"
 -- functionality is working.
 --
 
+-- SQL Analyze is working correctly only with memtx now.
 test:do_execsql_test(
     1.0,
     [[
diff --git a/test/sql-tap/engine.cfg b/test/sql-tap/engine.cfg
new file mode 100644
index 0000000000..ce9dd68d87
--- /dev/null
+++ b/test/sql-tap/engine.cfg
@@ -0,0 +1,9 @@
+{
+    "analyze9.test.lua": {
+        "memtx": {"engine": "memtx"}
+    },
+    "*": {
+        "memtx": {"engine": "memtx"},
+        "vinyl": {"engine": "vinyl"}
+    }
+}
diff --git a/test/sql-tap/lua/sqltester.lua b/test/sql-tap/lua/sqltester.lua
index 97c79f5445..04138154bc 100644
--- a/test/sql-tap/lua/sqltester.lua
+++ b/test/sql-tap/lua/sqltester.lua
@@ -411,11 +411,18 @@ test.do_eqp_test = function (self, label, sql, result)
 end
 
 setmetatable(_G, nil)
-os.execute("rm -f *.snap *.xlog*")
+os.execute("rm -rf $(ls -d */)")
+os.execute("rm -f *.snap *.xlog* *.vylog* *.run*")
 
 -- start the database
 box.cfg{
     memtx_max_tuple_size=4996109;
+    vinyl_max_tuple_size=4996109;
     log="tarantool.log";
 }
+
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+
 return test
diff --git a/test/sql-tap/suite.ini b/test/sql-tap/suite.ini
index 43404d2635..0637cffc1f 100644
--- a/test/sql-tap/suite.ini
+++ b/test/sql-tap/suite.ini
@@ -6,3 +6,4 @@ disabled =
 lua_libs = lua/sqltester.lua ../sql/lua/sql_tokenizer.lua ../box/lua/identifier.lua
 is_parallel = True
 release_disabled = debug_mode_only.test.lua
+config = engine.cfg
diff --git a/test/sql/app.lua b/test/sql/app.lua
index 96bb59023b..8dbed1c132 100644
--- a/test/sql/app.lua
+++ b/test/sql/app.lua
@@ -3,7 +3,8 @@
 box.cfg{
     listen              = os.getenv("LISTEN"),
     pid_file            = "tarantool.pid",
-    memtx_max_tuple_size = 5 * 1024 * 1024
+    memtx_max_tuple_size = 5 * 1024 * 1024,
+    vinyl_max_tuple_size = 5 * 1024 * 1024,
 }
 
 require('console').listen(os.getenv('ADMIN'))
diff --git a/test/sql/check-clear-ephemeral.result b/test/sql/check-clear-ephemeral.result
index 156e06a4a2..4ab1fe14ca 100644
--- a/test/sql/check-clear-ephemeral.result
+++ b/test/sql/check-clear-ephemeral.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE t1(a,b,c,PRIMARY KEY(b,c));")
diff --git a/test/sql/check-clear-ephemeral.test.lua b/test/sql/check-clear-ephemeral.test.lua
index 8a5787b04d..c7ea7333df 100644
--- a/test/sql/check-clear-ephemeral.test.lua
+++ b/test/sql/check-clear-ephemeral.test.lua
@@ -1,5 +1,6 @@
 test_run = require('test_run').new()
-
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 -- box.cfg()
 
 -- create space
diff --git a/test/sql/checks.result b/test/sql/checks.result
index 21ce210b85..2a31b01022 100644
--- a/test/sql/checks.result
+++ b/test/sql/checks.result
@@ -8,6 +8,12 @@ test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua...\"]:<line>: '")
 ---
 - true
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 --
 -- gh-3272: Move SQL CHECK into server
 --
diff --git a/test/sql/checks.test.lua b/test/sql/checks.test.lua
index bb76b0c7ca..7ff78fe48f 100644
--- a/test/sql/checks.test.lua
+++ b/test/sql/checks.test.lua
@@ -1,6 +1,8 @@
 env = require('test_run')
 test_run = env.new()
 test_run:cmd("push filter ".."'\\.lua.*:[0-9]+: ' to '.lua...\"]:<line>: '")
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 --
 -- gh-3272: Move SQL CHECK into server
diff --git a/test/sql/clear.result b/test/sql/clear.result
index d267245f3d..c75e1343c1 100644
--- a/test/sql/clear.result
+++ b/test/sql/clear.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE zoobar (c1, c2 PRIMARY KEY, c3, c4)")
diff --git a/test/sql/clear.test.lua b/test/sql/clear.test.lua
index 068a7c129a..142cda812d 100644
--- a/test/sql/clear.test.lua
+++ b/test/sql/clear.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/collation.result b/test/sql/collation.result
index 3a4f81f5a4..7fec96d51b 100644
--- a/test/sql/collation.result
+++ b/test/sql/collation.result
@@ -1,6 +1,15 @@
 remote = require('net.box')
 ---
 ...
+test_run = require('test_run').new()
+---
+...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- gh-3010: COLLATE after LIMIT should throw an error
 -- All of these tests should throw error "near "COLLATE": syntax error"
 box.sql.execute("SELECT 1 LIMIT 1 COLLATE BINARY;")
diff --git a/test/sql/collation.test.lua b/test/sql/collation.test.lua
index fe8c1badbc..ff2c5b2271 100644
--- a/test/sql/collation.test.lua
+++ b/test/sql/collation.test.lua
@@ -1,4 +1,7 @@
 remote = require('net.box')
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- gh-3010: COLLATE after LIMIT should throw an error
 
diff --git a/test/sql/delete-multiple-idx.result b/test/sql/delete-multiple-idx.result
index 000dad2a3b..a163cf1533 100644
--- a/test/sql/delete-multiple-idx.result
+++ b/test/sql/delete-multiple-idx.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- Create space.
 box.sql.execute("CREATE TABLE t3(id primary key,x,y);");
diff --git a/test/sql/delete-multiple-idx.test.lua b/test/sql/delete-multiple-idx.test.lua
index 26c19a03d2..e187355856 100644
--- a/test/sql/delete-multiple-idx.test.lua
+++ b/test/sql/delete-multiple-idx.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/delete.result b/test/sql/delete.result
index b7dc588a95..c454c60d90 100644
--- a/test/sql/delete.result
+++ b/test/sql/delete.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE t1(a, b, PRIMARY KEY(a, b));");
diff --git a/test/sql/delete.test.lua b/test/sql/delete.test.lua
index 69d8ff9f62..2f6b625b4c 100644
--- a/test/sql/delete.test.lua
+++ b/test/sql/delete.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/drop-index.result b/test/sql/drop-index.result
index 9fa8b8b756..2aaddac283 100644
--- a/test/sql/drop-index.result
+++ b/test/sql/drop-index.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE zzoobar (c1, c2 PRIMARY KEY, c3, c4)")
diff --git a/test/sql/drop-index.test.lua b/test/sql/drop-index.test.lua
index d39d33b64e..8bb51e157f 100644
--- a/test/sql/drop-index.test.lua
+++ b/test/sql/drop-index.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/drop-table.result b/test/sql/drop-table.result
index e89176454c..08f249668b 100644
--- a/test/sql/drop-table.result
+++ b/test/sql/drop-table.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE zzzoobar (c1, c2 PRIMARY KEY, c3, c4)")
diff --git a/test/sql/drop-table.test.lua b/test/sql/drop-table.test.lua
index a72156385b..9663074df9 100644
--- a/test/sql/drop-table.test.lua
+++ b/test/sql/drop-table.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/engine.cfg b/test/sql/engine.cfg
new file mode 100644
index 0000000000..0007d8d7a8
--- /dev/null
+++ b/test/sql/engine.cfg
@@ -0,0 +1,6 @@
+{
+    "*": {
+        "memtx": {"engine": "memtx"},
+        "vinyl": {"engine": "vinyl"}
+    }
+}
diff --git a/test/sql/engine.result b/test/sql/engine.result
new file mode 100644
index 0000000000..935383a894
--- /dev/null
+++ b/test/sql/engine.result
@@ -0,0 +1,42 @@
+env = require('test_run')
+---
+...
+test_run = env.new()
+---
+...
+box.sql.execute("pragma sql_default_engine='vinyl'")
+---
+...
+box.sql.execute("CREATE TABLE t1_vinyl(a INT PRIMARY KEY, b INT, c INT);")
+---
+...
+box.sql.execute("CREATE TABLE t2_vinyl(a INT PRIMARY KEY, b INT, c INT);")
+---
+...
+box.sql.execute("pragma sql_default_engine='memtx'")
+---
+...
+box.sql.execute("CREATE TABLE t3_memtx(a INT PRIMARY KEY, b INT, c INT);")
+---
+...
+assert(box.space.T1_VINYL.engine == 'vinyl')
+---
+- true
+...
+assert(box.space.T2_VINYL.engine == 'vinyl')
+---
+- true
+...
+assert(box.space.T3_MEMTX.engine == 'memtx')
+---
+- true
+...
+box.sql.execute("DROP TABLE t1_vinyl;")
+---
+...
+box.sql.execute("DROP TABLE t2_vinyl;")
+---
+...
+box.sql.execute("DROP TABLE t3_memtx;")
+---
+...
diff --git a/test/sql/engine.test.lua b/test/sql/engine.test.lua
new file mode 100644
index 0000000000..2f34b242d2
--- /dev/null
+++ b/test/sql/engine.test.lua
@@ -0,0 +1,17 @@
+env = require('test_run')
+test_run = env.new()
+
+box.sql.execute("pragma sql_default_engine='vinyl'")
+box.sql.execute("CREATE TABLE t1_vinyl(a INT PRIMARY KEY, b INT, c INT);")
+box.sql.execute("CREATE TABLE t2_vinyl(a INT PRIMARY KEY, b INT, c INT);")
+
+box.sql.execute("pragma sql_default_engine='memtx'")
+box.sql.execute("CREATE TABLE t3_memtx(a INT PRIMARY KEY, b INT, c INT);")
+
+assert(box.space.T1_VINYL.engine == 'vinyl')
+assert(box.space.T2_VINYL.engine == 'vinyl')
+assert(box.space.T3_MEMTX.engine == 'memtx')
+
+box.sql.execute("DROP TABLE t1_vinyl;")
+box.sql.execute("DROP TABLE t2_vinyl;")
+box.sql.execute("DROP TABLE t3_memtx;")
diff --git a/test/sql/errinj.result b/test/sql/errinj.result
index 1451ea121a..b491d4629d 100644
--- a/test/sql/errinj.result
+++ b/test/sql/errinj.result
@@ -1,6 +1,15 @@
 remote = require('net.box')
 ---
 ...
+test_run = require('test_run').new()
+---
+...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 errinj = box.error.injection
 ---
 ...
diff --git a/test/sql/errinj.test.lua b/test/sql/errinj.test.lua
index 5663a83845..da25b03728 100644
--- a/test/sql/errinj.test.lua
+++ b/test/sql/errinj.test.lua
@@ -1,4 +1,7 @@
 remote = require('net.box')
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 errinj = box.error.injection
 fiber = require('fiber')
 
diff --git a/test/sql/gh-2929-primary-key.result b/test/sql/gh-2929-primary-key.result
index 53896fcdad..c238ed76bd 100644
--- a/test/sql/gh-2929-primary-key.result
+++ b/test/sql/gh-2929-primary-key.result
@@ -1,3 +1,12 @@
+test_run = require('test_run').new()
+---
+...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- All tables in SQL are now WITHOUT ROW ID, so if user
 -- tries to create table without a primary key, an appropriate error message
 -- should be raised. This tests checks it.
diff --git a/test/sql/gh-2929-primary-key.test.lua b/test/sql/gh-2929-primary-key.test.lua
index 27338a6ce4..0a9395cfc3 100644
--- a/test/sql/gh-2929-primary-key.test.lua
+++ b/test/sql/gh-2929-primary-key.test.lua
@@ -1,3 +1,7 @@
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+
 -- All tables in SQL are now WITHOUT ROW ID, so if user
 -- tries to create table without a primary key, an appropriate error message
 -- should be raised. This tests checks it.
diff --git a/test/sql/gh-2981-check-autoinc.result b/test/sql/gh-2981-check-autoinc.result
index aaa0785d0e..b0f55e61d5 100644
--- a/test/sql/gh-2981-check-autoinc.result
+++ b/test/sql/gh-2981-check-autoinc.result
@@ -1,3 +1,12 @@
+test_run = require('test_run').new()
+---
+...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 box.cfg{}
 ---
 ...
diff --git a/test/sql/gh-2981-check-autoinc.test.lua b/test/sql/gh-2981-check-autoinc.test.lua
index f136505195..98a5fb46dc 100644
--- a/test/sql/gh-2981-check-autoinc.test.lua
+++ b/test/sql/gh-2981-check-autoinc.test.lua
@@ -1,3 +1,7 @@
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+
 box.cfg{}
 
 box.sql.execute("CREATE TABLE t1 (s1 INTEGER PRIMARY KEY AUTOINCREMENT, s2 INTEGER, CHECK (s1 <> 19));");
diff --git a/test/sql/gh-3199-no-mem-leaks.result b/test/sql/gh-3199-no-mem-leaks.result
index 682ca62a78..9d715e8cdb 100644
--- a/test/sql/gh-3199-no-mem-leaks.result
+++ b/test/sql/gh-3199-no-mem-leaks.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 fiber = require('fiber')
 ---
 ...
diff --git a/test/sql/gh-3199-no-mem-leaks.test.lua b/test/sql/gh-3199-no-mem-leaks.test.lua
index d61d474d9c..138166bad3 100644
--- a/test/sql/gh-3199-no-mem-leaks.test.lua
+++ b/test/sql/gh-3199-no-mem-leaks.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 fiber = require('fiber')
 
 -- This test checks that no leaks of region memory happens during
diff --git a/test/sql/gh2141-delete-trigger-drop-table.result b/test/sql/gh2141-delete-trigger-drop-table.result
index ec5a38061c..d8ba2af564 100644
--- a/test/sql/gh2141-delete-trigger-drop-table.result
+++ b/test/sql/gh2141-delete-trigger-drop-table.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- create space
 box.sql.execute("CREATE TABLE t(id PRIMARY KEY)")
 ---
diff --git a/test/sql/gh2141-delete-trigger-drop-table.test.lua b/test/sql/gh2141-delete-trigger-drop-table.test.lua
index 87110a4637..19d3188a6f 100644
--- a/test/sql/gh2141-delete-trigger-drop-table.test.lua
+++ b/test/sql/gh2141-delete-trigger-drop-table.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- create space
 box.sql.execute("CREATE TABLE t(id PRIMARY KEY)")
diff --git a/test/sql/gh2251-multiple-update.result b/test/sql/gh2251-multiple-update.result
index 5372cfc3ac..5e137eeb6c 100644
--- a/test/sql/gh2251-multiple-update.result
+++ b/test/sql/gh2251-multiple-update.result
@@ -2,6 +2,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 box.sql.execute("CREATE TABLE t1(a integer primary key, b UNIQUE, e);")
 ---
diff --git a/test/sql/gh2251-multiple-update.test.lua b/test/sql/gh2251-multiple-update.test.lua
index 15795f12bd..0166a17864 100644
--- a/test/sql/gh2251-multiple-update.test.lua
+++ b/test/sql/gh2251-multiple-update.test.lua
@@ -1,5 +1,7 @@
 -- Regression test for #2251
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/gh2483-remote-persistency-check.result b/test/sql/gh2483-remote-persistency-check.result
index 5cb6db34e1..50e65f22ef 100644
--- a/test/sql/gh2483-remote-persistency-check.result
+++ b/test/sql/gh2483-remote-persistency-check.result
@@ -5,6 +5,12 @@ env = require('test_run')
 test_run = env.new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 box.schema.user.grant('guest', 'read,write,execute', 'universe')
 ---
 ...
diff --git a/test/sql/gh2483-remote-persistency-check.test.lua b/test/sql/gh2483-remote-persistency-check.test.lua
index da13e4ee07..b952f6b32f 100644
--- a/test/sql/gh2483-remote-persistency-check.test.lua
+++ b/test/sql/gh2483-remote-persistency-check.test.lua
@@ -1,6 +1,8 @@
 -- Regression test for gh-2483
 env = require('test_run')
 test_run = env.new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 box.schema.user.grant('guest', 'read,write,execute', 'universe')
 
diff --git a/test/sql/gh2808-inline-unique-persistency-check.result b/test/sql/gh2808-inline-unique-persistency-check.result
index e171f7aa79..fdd000f3d2 100644
--- a/test/sql/gh2808-inline-unique-persistency-check.result
+++ b/test/sql/gh2808-inline-unique-persistency-check.result
@@ -5,6 +5,12 @@ env = require('test_run')
 test_run = env.new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- Create a table and insert a datum
 box.sql.execute([[CREATE TABLE t1(a PRIMARY KEY, b, UNIQUE(b));]])
 ---
diff --git a/test/sql/gh2808-inline-unique-persistency-check.test.lua b/test/sql/gh2808-inline-unique-persistency-check.test.lua
index 19ae87760d..eb4e051dc0 100644
--- a/test/sql/gh2808-inline-unique-persistency-check.test.lua
+++ b/test/sql/gh2808-inline-unique-persistency-check.test.lua
@@ -1,6 +1,8 @@
 -- Regression test for gh-2483
 env = require('test_run')
 test_run = env.new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- Create a table and insert a datum
 box.sql.execute([[CREATE TABLE t1(a PRIMARY KEY, b, UNIQUE(b));]])
diff --git a/test/sql/icu-upper-lower.result b/test/sql/icu-upper-lower.result
index 9989ed2399..6ca44b95f3 100644
--- a/test/sql/icu-upper-lower.result
+++ b/test/sql/icu-upper-lower.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 test_run:cmd("setopt delimiter ';'")
 ---
 - true
diff --git a/test/sql/icu-upper-lower.test.lua b/test/sql/icu-upper-lower.test.lua
index bb1a5189be..6629a7451f 100644
--- a/test/sql/icu-upper-lower.test.lua
+++ b/test/sql/icu-upper-lower.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 test_run:cmd("setopt delimiter ';'")
 
diff --git a/test/sql/insert-unique.result b/test/sql/insert-unique.result
index 7e564ec775..048d6284c3 100644
--- a/test/sql/insert-unique.result
+++ b/test/sql/insert-unique.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE zoobar (c1, c2 PRIMARY KEY, c3, c4)")
diff --git a/test/sql/insert-unique.test.lua b/test/sql/insert-unique.test.lua
index dfdaa30ccf..a004c57b41 100644
--- a/test/sql/insert-unique.test.lua
+++ b/test/sql/insert-unique.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/iproto.result b/test/sql/iproto.result
index 3b7574ae02..4cf7901691 100644
--- a/test/sql/iproto.result
+++ b/test/sql/iproto.result
@@ -1,6 +1,15 @@
 remote = require('net.box')
 ---
 ...
+test_run = require('test_run').new()
+---
+...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 box.sql.execute('create table test (id primary key, a float, b text)')
 ---
 ...
diff --git a/test/sql/iproto.test.lua b/test/sql/iproto.test.lua
index 159a8394e0..220331b40b 100644
--- a/test/sql/iproto.test.lua
+++ b/test/sql/iproto.test.lua
@@ -1,4 +1,7 @@
 remote = require('net.box')
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 box.sql.execute('create table test (id primary key, a float, b text)')
 space = box.space.TEST
diff --git a/test/sql/max-on-index.result b/test/sql/max-on-index.result
index afd43628b9..b1076332d2 100644
--- a/test/sql/max-on-index.result
+++ b/test/sql/max-on-index.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 -- scalar affinity
diff --git a/test/sql/max-on-index.test.lua b/test/sql/max-on-index.test.lua
index 5ce6cd70a5..b879e388fb 100644
--- a/test/sql/max-on-index.test.lua
+++ b/test/sql/max-on-index.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/message-func-indexes.result b/test/sql/message-func-indexes.result
index 4bf1cab491..37ed4ec6ed 100644
--- a/test/sql/message-func-indexes.result
+++ b/test/sql/message-func-indexes.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- Creating tables.
 box.sql.execute("CREATE TABLE t1(id INTEGER PRIMARY KEY, a INTEGER)")
 ---
diff --git a/test/sql/message-func-indexes.test.lua b/test/sql/message-func-indexes.test.lua
index 4597c9b6b6..e0eae7659c 100644
--- a/test/sql/message-func-indexes.test.lua
+++ b/test/sql/message-func-indexes.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- Creating tables.
 box.sql.execute("CREATE TABLE t1(id INTEGER PRIMARY KEY, a INTEGER)")
diff --git a/test/sql/misc.result b/test/sql/misc.result
index b1ddb89a15..93b383a8ff 100644
--- a/test/sql/misc.result
+++ b/test/sql/misc.result
@@ -1,3 +1,12 @@
+test_run = require('test_run').new()
+---
+...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- Forbid multistatement queries.
 box.sql.execute('select 1;')
 ---
diff --git a/test/sql/misc.test.lua b/test/sql/misc.test.lua
index 2c05fcd0cf..1ed0198749 100644
--- a/test/sql/misc.test.lua
+++ b/test/sql/misc.test.lua
@@ -1,3 +1,7 @@
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+
 -- Forbid multistatement queries.
 box.sql.execute('select 1;')
 box.sql.execute('select 1; select 2;')
diff --git a/test/sql/on-conflict.result b/test/sql/on-conflict.result
index 9e15ec4d83..c0d0de08d9 100644
--- a/test/sql/on-conflict.result
+++ b/test/sql/on-conflict.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- Create space
 box.sql.execute("CREATE TABLE t (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT ABORT)")
 ---
diff --git a/test/sql/on-conflict.test.lua b/test/sql/on-conflict.test.lua
index a6aa3d6249..b6d92f7c35 100644
--- a/test/sql/on-conflict.test.lua
+++ b/test/sql/on-conflict.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- Create space
 box.sql.execute("CREATE TABLE t (id INTEGER PRIMARY KEY, v INTEGER UNIQUE ON CONFLICT ABORT)")
diff --git a/test/sql/persistency.result b/test/sql/persistency.result
index 8f89039750..e31d0bcfc7 100644
--- a/test/sql/persistency.result
+++ b/test/sql/persistency.result
@@ -4,6 +4,12 @@ env = require('test_run')
 test_run = env.new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- create space
 box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)")
 ---
diff --git a/test/sql/persistency.test.lua b/test/sql/persistency.test.lua
index e994a62efd..417d8c0982 100644
--- a/test/sql/persistency.test.lua
+++ b/test/sql/persistency.test.lua
@@ -1,5 +1,7 @@
 env = require('test_run')
 test_run = env.new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- create space
 box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)")
diff --git a/test/sql/savepoints.result b/test/sql/savepoints.result
index e32c9b3099..8553dd81dc 100644
--- a/test/sql/savepoints.result
+++ b/test/sql/savepoints.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- These tests check that SQL savepoints properly work outside
 -- transactions as well as inside transactions started in Lua.
 -- gh-3313
diff --git a/test/sql/savepoints.test.lua b/test/sql/savepoints.test.lua
index 2d87b9e340..a4ed0612d2 100644
--- a/test/sql/savepoints.test.lua
+++ b/test/sql/savepoints.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- These tests check that SQL savepoints properly work outside
 -- transactions as well as inside transactions started in Lua.
diff --git a/test/sql/select-null.result b/test/sql/select-null.result
index a229eb93b4..53bef1b508 100644
--- a/test/sql/select-null.result
+++ b/test/sql/select-null.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE t3(id INT, a, b, PRIMARY KEY(id))")
diff --git a/test/sql/select-null.test.lua b/test/sql/select-null.test.lua
index a2c1266148..3e9cb816df 100644
--- a/test/sql/select-null.test.lua
+++ b/test/sql/select-null.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/sql-statN-index-drop.result b/test/sql/sql-statN-index-drop.result
index c7e476f68a..a751eca678 100644
--- a/test/sql/sql-statN-index-drop.result
+++ b/test/sql/sql-statN-index-drop.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- Initializing some things.
 box.sql.execute("CREATE TABLE t1(id PRIMARY KEY, a);")
 ---
diff --git a/test/sql/sql-statN-index-drop.test.lua b/test/sql/sql-statN-index-drop.test.lua
index bf4a752a9a..fe7e15b574 100644
--- a/test/sql/sql-statN-index-drop.test.lua
+++ b/test/sql/sql-statN-index-drop.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- Initializing some things.
 box.sql.execute("CREATE TABLE t1(id PRIMARY KEY, a);")
diff --git a/test/sql/suite.ini b/test/sql/suite.ini
index 5f28f23a35..4504731273 100644
--- a/test/sql/suite.ini
+++ b/test/sql/suite.ini
@@ -3,6 +3,7 @@ core = tarantool
 description = sql tests
 script = app.lua
 use_unix_sockets = True
+config = engine.cfg
 is_parallel = True
 lua_libs = lua/sql_tokenizer.lua
 release_disabled = errinj.test.lua view_delayed_wal.test.lua
diff --git a/test/sql/tokenizer.result b/test/sql/tokenizer.result
index 3868f6bd9d..9e50b87608 100644
--- a/test/sql/tokenizer.result
+++ b/test/sql/tokenizer.result
@@ -4,6 +4,12 @@ env = require('test_run')
 test_run = env.new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 sql_tokenizer = require('sql_tokenizer')
 ---
 ...
diff --git a/test/sql/tokenizer.test.lua b/test/sql/tokenizer.test.lua
index e368219658..7a69d12ed2 100644
--- a/test/sql/tokenizer.test.lua
+++ b/test/sql/tokenizer.test.lua
@@ -1,5 +1,7 @@
 env = require('test_run')
 test_run = env.new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 sql_tokenizer = require('sql_tokenizer')
 
diff --git a/test/sql/transition.result b/test/sql/transition.result
index 7c4a2c8139..70fb2db40e 100644
--- a/test/sql/transition.result
+++ b/test/sql/transition.result
@@ -1,3 +1,12 @@
+test_run = require('test_run').new()
+---
+...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- create space
 box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)")
 ---
diff --git a/test/sql/transition.test.lua b/test/sql/transition.test.lua
index 50ee7f569b..cae45aa17a 100644
--- a/test/sql/transition.test.lua
+++ b/test/sql/transition.test.lua
@@ -1,3 +1,7 @@
+test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+
 -- create space
 box.sql.execute("CREATE TABLE foobar (foo PRIMARY KEY, bar)")
 
diff --git a/test/sql/transitive-transactions.result b/test/sql/transitive-transactions.result
index e617cf1458..da618d2cc3 100644
--- a/test/sql/transitive-transactions.result
+++ b/test/sql/transitive-transactions.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute("pragma sql_default_engine=\'"..engine.."\'")
+---
+...
 test_run:cmd("setopt delimiter ';'")
 ---
 - true
@@ -105,6 +111,7 @@ box.space.PARENT:select();
 - - [1, 1]
 ...
 box.sql.execute('PRAGMA defer_foreign_keys = 1;')
+box.rollback()
 fk_defer();
 ---
 ...
diff --git a/test/sql/transitive-transactions.test.lua b/test/sql/transitive-transactions.test.lua
index 718f951d35..f663bf672a 100644
--- a/test/sql/transitive-transactions.test.lua
+++ b/test/sql/transitive-transactions.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute("pragma sql_default_engine=\'"..engine.."\'")
 test_run:cmd("setopt delimiter ';'")
 
 -- These tests are aimed at checking transitive transactions
@@ -56,6 +58,7 @@ fk_defer();
 box.space.CHILD:select();
 box.space.PARENT:select();
 box.sql.execute('PRAGMA defer_foreign_keys = 1;')
+box.rollback()
 fk_defer();
 box.space.CHILD:select();
 box.space.PARENT:select();
diff --git a/test/sql/triggers.result b/test/sql/triggers.result
index 90aa8a9991..dc0a2e57d6 100644
--- a/test/sql/triggers.result
+++ b/test/sql/triggers.result
@@ -4,6 +4,12 @@ env = require('test_run')
 test_run = env.new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- Get invariant part of the tuple; name and opts don't change.
  function immutable_part(data) local r = {} for i, l in pairs(data) do table.insert(r, {l.name, l.opts}) end return r end
 ---
diff --git a/test/sql/triggers.test.lua b/test/sql/triggers.test.lua
index 4c8813799f..e019c008ca 100644
--- a/test/sql/triggers.test.lua
+++ b/test/sql/triggers.test.lua
@@ -1,5 +1,7 @@
 env = require('test_run')
 test_run = env.new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- Get invariant part of the tuple; name and opts don't change.
  function immutable_part(data) local r = {} for i, l in pairs(data) do table.insert(r, {l.name, l.opts}) end return r end
diff --git a/test/sql/update-with-nested-select.result b/test/sql/update-with-nested-select.result
index 419cebb611..51825a21d2 100644
--- a/test/sql/update-with-nested-select.result
+++ b/test/sql/update-with-nested-select.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- box.cfg()
 -- create space
 box.sql.execute("CREATE TABLE t1(a integer primary key, b UNIQUE, e);");
diff --git a/test/sql/update-with-nested-select.test.lua b/test/sql/update-with-nested-select.test.lua
index 7b90968ae1..f9f9b7aade 100644
--- a/test/sql/update-with-nested-select.test.lua
+++ b/test/sql/update-with-nested-select.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- box.cfg()
 
diff --git a/test/sql/upgrade.result b/test/sql/upgrade.result
index 6f7b115c59..5e7d851095 100644
--- a/test/sql/upgrade.result
+++ b/test/sql/upgrade.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 work_dir = 'sql/upgrade/1.10/'
 ---
 ...
diff --git a/test/sql/upgrade.test.lua b/test/sql/upgrade.test.lua
index 1619795fcd..cd4dd3cca9 100644
--- a/test/sql/upgrade.test.lua
+++ b/test/sql/upgrade.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 work_dir = 'sql/upgrade/1.10/'
 test_run:cmd('create server upgrade with script="sql/upgrade/upgrade.lua", workdir="' .. work_dir .. '"')
diff --git a/test/sql/view.result b/test/sql/view.result
index b033f19aa5..62fbceeefa 100644
--- a/test/sql/view.result
+++ b/test/sql/view.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 -- Verify that constraints on 'view' option are working.
 -- box.cfg()
 -- Create space and view.
diff --git a/test/sql/view.test.lua b/test/sql/view.test.lua
index 27f449f585..1d73133a2a 100644
--- a/test/sql/view.test.lua
+++ b/test/sql/view.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 
 -- Verify that constraints on 'view' option are working.
 
diff --git a/test/sql/view_delayed_wal.result b/test/sql/view_delayed_wal.result
index 3b68edacc5..2e1047af5c 100644
--- a/test/sql/view_delayed_wal.result
+++ b/test/sql/view_delayed_wal.result
@@ -1,6 +1,12 @@
 test_run = require('test_run').new()
 ---
 ...
+engine = test_run:get_cfg('engine')
+---
+...
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
+---
+...
 fiber = require('fiber')
 ---
 ...
diff --git a/test/sql/view_delayed_wal.test.lua b/test/sql/view_delayed_wal.test.lua
index cca75ad4af..62ab7d7999 100644
--- a/test/sql/view_delayed_wal.test.lua
+++ b/test/sql/view_delayed_wal.test.lua
@@ -1,4 +1,6 @@
 test_run = require('test_run').new()
+engine = test_run:get_cfg('engine')
+box.sql.execute('pragma sql_default_engine=\''..engine..'\'')
 fiber = require('fiber')
 
 -- View reference counters are incremented before firing
-- 
GitLab