Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] test: switched on pretest_clean routine
@ 2019-03-06  8:47 Alexander Tikhonov
  2019-03-11  5:26 ` [tarantool-patches] " Alexander Turenko
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander Tikhonov @ 2019-03-06  8:47 UTC (permalink / raw)
  To: Alexander Turenko, tarantool-patches

[-- Attachment #1: Type: text/plain, Size: 28363 bytes --]


test: switched on pretest_clean routine

Switched on pretest_clean routine which helps to cleanup
the test environment before test start. Also moved the global
functions in box suite into the test_helpers module, to make
it possible to use it in each of the test while global functions
are removing with pretest_clean routine.

---
Github pull request:  https://github.com/tarantool/tarantool/pull/4029  
Travis-CI:  https://travis-ci.org/tarantool/tarantool/builds/502431423  

From acbd981d79fe7b2ad5cdf5c2c1e9c1d3613d89c9 Mon Sep 17 00:00:00 2001
From: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
Date: Wed, 6 Mar 2019 10:17:47 +0300
Subject: [PATCH] test: switched on pretest_clean routine

Switched on pretest_clean routine which helps to cleanup
the test environment before test start. Also moved the global
functions in box suite into the test_helpers module, to make
it possible to use it in each of the test while global functions
are removing with pretest_clean routine.
---
 test/app-tap/suite.ini                        |  1 +
 test/app/suite.ini                            |  1 +
 test/box-py/suite.ini                         |  1 +
 test/box-tap/suite.ini                        |  1 +
 test/box/admin.result                         |  5 +-
 test/box/admin.test.lua                       |  3 +-
 test/box/box.lua                              | 29 -----------
 test/box/cfg.result                           |  7 ++-
 test/box/cfg.test.lua                         |  6 ++-
 test/box/lua/test_helpers.lua                 | 32 ++++++++++++
 test/box/sql.result                           | 50 +++++++++++--------
 test/box/sql.test.lua                         | 46 +++++++++--------
 test/box/suite.ini                            |  3 +-
 test/engine/suite.ini                         |  1 +
 test/engine_long/delete_insert.result         |  5 +-
 test/engine_long/delete_insert.test.lua       |  5 +-
 test/engine_long/delete_replace_update.result | 13 +++--
 .../delete_replace_update.test.lua            | 12 +++--
 test/engine_long/suite.ini                    |  1 +
 test/engine_long/suite.lua                    |  7 ++-
 test/long_run-py/suite.ini                    |  1 +
 test/luajit-tap/suite.ini                     |  1 +
 test/replication-py/suite.ini                 |  1 +
 test/replication/suite.ini                    |  1 +
 test/sql-tap/suite.ini                        |  1 +
 test/sql/suite.ini                            |  1 +
 test/unit/suite.ini                           |  1 +
 test/vinyl/suite.ini                          |  1 +
 test/wal_off/suite.ini                        |  1 +
 test/xlog-py/suite.ini                        |  1 +
 test/xlog/suite.ini                           |  1 +
 31 files changed, 146 insertions(+), 94 deletions(-)
 create mode 100644 test/box/lua/test_helpers.lua

diff --git a/test/app-tap/suite.ini b/test/app-tap/suite.ini
index 86af82637..9629dfad5 100644
--- a/test/app-tap/suite.ini
+++ b/test/app-tap/suite.ini
@@ -3,3 +3,4 @@ core = app
 description = application server tests (TAP)
 lua_libs = lua/require_mod.lua lua/serializer_test.lua
 is_parallel = True
+pretest_clean = True
diff --git a/test/app/suite.ini b/test/app/suite.ini
index 7f3c0a8f5..4f9e51550 100644
--- a/test/app/suite.ini
+++ b/test/app/suite.ini
@@ -5,3 +5,4 @@ script = app.lua
 lua_libs = lua/fiber.lua
 use_unix_sockets = True
 is_parallel = True
+pretest_clean = True
diff --git a/test/box-py/suite.ini b/test/box-py/suite.ini
index d7d512b0d..cad0b0041 100644
--- a/test/box-py/suite.ini
+++ b/test/box-py/suite.ini
@@ -5,3 +5,4 @@ script = box.lua
 lua_libs = lua/fiber.lua lua/fifo.lua
 use_unix_sockets = True
 is_parallel = False
+pretest_clean = True
diff --git a/test/box-tap/suite.ini b/test/box-tap/suite.ini
index 50dc1f435..b3ccf2e6f 100644
--- a/test/box-tap/suite.ini
+++ b/test/box-tap/suite.ini
@@ -2,3 +2,4 @@
 core = app
 description = Database tests with #! using TAP
 is_parallel = True
+pretest_clean = True
diff --git a/test/box/admin.result b/test/box/admin.result
index e6fc1f302..cd5eb0c62 100644
--- a/test/box/admin.result
+++ b/test/box/admin.result
@@ -24,7 +24,10 @@ help()
       \help show this screen
       \quit quit interactive console
 ...
-cfg_filter(box.cfg)
+test_helpers = require('test_helpers')
+---
+...
+test_helpers.cfg_filter(box.cfg)
 ---
 - - - background
     - false
diff --git a/test/box/admin.test.lua b/test/box/admin.test.lua
index 4e7a78f5b..353afea9c 100644
--- a/test/box/admin.test.lua
+++ b/test/box/admin.test.lua
@@ -6,7 +6,8 @@ space = box.schema.space.create('tweedledum')
 index = space:create_index('primary')
 
 help()
-cfg_filter(box.cfg)
+test_helpers = require('test_helpers')
+test_helpers.cfg_filter(box.cfg)
 space:insert{1, 'tuple'}
 box.snapshot()
 space:delete{1}
diff --git a/test/box/box.lua b/test/box/box.lua
index b3b10ffd4..dcd52284c 100644
--- a/test/box/box.lua
+++ b/test/box/box.lua
@@ -8,32 +8,3 @@ box.cfg{
 }
 
 require('console').listen(os.getenv('ADMIN'))
-
-local _hide = {
-    pid_file=1, log=1, listen=1, vinyl_dir=1,
-    memtx_dir=1, wal_dir=1,
-    memtx_max_tuple_size=1, memtx_min_tuple_size=1
-}
-
-function cfg_filter(data)
-    if type(data)~='table' then return data end
-    local keys,k,_ = {}
-    for k in pairs(data) do
-        table.insert(keys, k)
-    end
-    table.sort(keys)
-    local result = {}
-    for _,k in pairs(keys) do
-        table.insert(result, {k, _hide[k] and '<hidden>' or cfg_filter(data[k])})
-    end
-    return result
-end
-
-function compare(a,b)
-    return a[1] < b[1]
-end
-
-function sorted(data)
-    table.sort(data, compare)
-    return data
-end
diff --git a/test/box/cfg.result b/test/box/cfg.result
index 7778f82ac..945372f41 100644
--- a/test/box/cfg.result
+++ b/test/box/cfg.result
@@ -1,3 +1,6 @@
+test_helpers = require('test_helpers')
+---
+...
 env = require('test_run')
 ---
 ...
@@ -12,7 +15,7 @@ box.cfg.nosuchoption = 1
 ---
 - error: 'builtin/box/load_cfg.lua:<line>: Attempt to modify a read-only table'
 ...
-cfg_filter(box.cfg)
+test_helpers.cfg_filter(box.cfg)
 ---
 - - - background
     - false
@@ -111,7 +114,7 @@ cfg_filter(box.cfg)
 box.cfg()
 ---
 ...
-cfg_filter(box.cfg)
+test_helpers.cfg_filter(box.cfg)
 ---
 - - - background
     - false
diff --git a/test/box/cfg.test.lua b/test/box/cfg.test.lua
index a6416241f..3189b5c2c 100644
--- a/test/box/cfg.test.lua
+++ b/test/box/cfg.test.lua
@@ -1,11 +1,13 @@
+test_helpers = require('test_helpers')
+
 env = require('test_run')
 test_run = env.new()
 test_run:cmd("push filter '(error: .*)\\.lua:[0-9]+: ' to '\\1.lua:<line>: '")
 box.cfg.nosuchoption = 1
-cfg_filter(box.cfg)
+test_helpers.cfg_filter(box.cfg)
 -- must be read-only
 box.cfg()
-cfg_filter(box.cfg)
+test_helpers.cfg_filter(box.cfg)
 
 -- check that cfg with unexpected parameter fails.
 box.cfg{sherlock = 'holmes'}
diff --git a/test/box/lua/test_helpers.lua b/test/box/lua/test_helpers.lua
new file mode 100644
index 000000000..bb231e73b
--- /dev/null
+++ b/test/box/lua/test_helpers.lua
@@ -0,0 +1,32 @@
+local test_helpers = {}
+
+local _hide = {
+    pid_file=1, log=1, listen=1, vinyl_dir=1,
+    memtx_dir=1, wal_dir=1,
+    memtx_max_tuple_size=1, memtx_min_tuple_size=1
+}
+
+function test_helpers.cfg_filter(data)
+    if type(data)~='table' then return data end
+    local keys,k,_ = {}
+    for k in pairs(data) do
+        table.insert(keys, k)
+    end
+    table.sort(keys)
+    local result = {}
+    for _,k in pairs(keys) do
+        table.insert(result, {k, _hide[k] and '<hidden>' or test_helpers.cfg_filter(data[k])})
+    end
+    return result
+end
+
+function compare(a,b)
+    return a[1] < b[1]
+end
+
+function test_helpers.sorted(data)
+    table.sort(data, compare)
+    return data
+end
+
+return test_helpers
diff --git a/test/box/sql.result b/test/box/sql.result
index 78dc47167..c10434986 100644
--- a/test/box/sql.result
+++ b/test/box/sql.result
@@ -227,6 +227,9 @@ space = nil
 net_box = require('net.box')
 ---
 ...
+test_helpers = require('test_helpers')
+---
+...
 -- Prepare spaces
 box.schema.user.create('test', { password = 'test' })
 ---
@@ -275,7 +278,7 @@ space:insert{'Kytes', 'Tomas'}
 ---
 - ['Kytes', 'Tomas']
 ...
-sorted(space.index.secondary:select('Richard'))
+test_helpers.sorted(space.index.secondary:select('Richard'))
 ---
 - - ['Doe', 'Richard']
   - ['Roe', 'Richard']
@@ -284,7 +287,7 @@ sorted(space.index.secondary:select('Richard'))
 -- A test case for Bug#729879
 -- "Zero limit is treated the same as no limit"
 -- https://bugs.launchpad.net/tarantool/+bug/729879
-sorted(space.index.secondary:select('Richard', { limit = 0 }))
+test_helpers.sorted(space.index.secondary:select('Richard', { limit = 0 }))
 ---
 - []
 ...
@@ -301,7 +304,7 @@ space:insert{'Britney'}
 ---
 - error: Tuple field 2 required by space format is missing
 ...
-sorted(space.index.secondary:select('Anything'))
+test_helpers.sorted(space.index.secondary:select('Anything'))
 ---
 - []
 ...
@@ -309,7 +312,7 @@ space:insert{'Stephanie'}
 ---
 - error: Tuple field 2 required by space format is missing
 ...
-sorted(space.index.secondary:select('Anything'))
+test_helpers.sorted(space.index.secondary:select('Anything'))
 ---
 - []
 ...
@@ -321,11 +324,11 @@ space:select{'Spears'}
 ---
 - - ['Spears', 'Britney']
 ...
-sorted(space.index.secondary:select('Anything'))
+test_helpers.sorted(space.index.secondary:select('Anything'))
 ---
 - []
 ...
-sorted(space.index.secondary:select('Britney'))
+test_helpers.sorted(space.index.secondary:select('Britney'))
 ---
 - - ['Spears', 'Britney']
 ...
@@ -385,7 +388,7 @@ space:select{'key3'}
 ---
 - - ['key3', 'part1', 'part2_b']
 ...
-sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part1'))
 ---
 - - ['key1', 'part1', 'part2']
   - ['key2', 'part1', 'part2_a']
@@ -418,7 +421,7 @@ space:select{'key3'}
 ---
 - - ['key3', 'part1', 'part2_b']
 ...
-sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part1'))
 ---
 - - ['key1', 'part1', 'part2']
   - ['key2', 'part1', 'part2_a']
@@ -492,33 +495,33 @@ space:select{21234567}
 ---
 - - [21234567, 'part1', 'part2_a']
 ...
-sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part1'))
 ---
 - - [1234567, 'part1', 'part2']
   - [11234567, 'part1', 'part2']
   - [21234567, 'part1', 'part2_a']
 ...
-sorted(space.index.secondary:select('part1_a'))
+test_helpers.sorted(space.index.secondary:select('part1_a'))
 ---
 - - [31234567, 'part1_a', 'part2']
   - [41234567, 'part1_a', 'part2_a']
 ...
-sorted(space.index.secondary:select('part_none'))
+test_helpers.sorted(space.index.secondary:select('part_none'))
 ---
 - []
 ...
-sorted(s.index[1]:select({'part1', 'part2'}))
+test_helpers.sorted(s.index[1]:select({'part1', 'part2'}))
 ---
 - - [1234567, 'part1', 'part2']
   - [11234567, 'part1', 'part2']
 ...
-sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part1'))
 ---
 - - [1234567, 'part1', 'part2']
   - [11234567, 'part1', 'part2']
   - [21234567, 'part1', 'part2_a']
 ...
-sorted(space.index.secondary:select('part2'))
+test_helpers.sorted(space.index.secondary:select('part2'))
 ---
 - []
 ...
@@ -593,19 +596,22 @@ s = box.space.tweedledum
 ---
 ...
 -- Bug#929654 - secondary hash index is not built with build_indexes()
-sorted(space.index.secondary:select('hello'))
+test_helpers = require('test_helpers')
+---
+...
+test_helpers.sorted(space.index.secondary:select('hello'))
 ---
 - - [1, 'hello']
 ...
-sorted(space.index.secondary:select('brave'))
+test_helpers.sorted(space.index.secondary:select('brave'))
 ---
 - - [2, 'brave']
 ...
-sorted(space.index.secondary:select('new'))
+test_helpers.sorted(space.index.secondary:select('new'))
 ---
 - - [3, 'new']
 ...
-sorted(space.index.secondary:select('world'))
+test_helpers.sorted(space.index.secondary:select('world'))
 ---
 - - [4, 'world']
 ...
@@ -629,7 +635,7 @@ space:select{'Spears'}
 ---
 - - ['Spears', 'Britney']
 ...
-sorted(space.index.secondary:select('Britney'))
+test_helpers.sorted(space.index.secondary:select('Britney'))
 ---
 - - ['Spears', 'Britney']
 ...
@@ -712,7 +718,7 @@ space:insert{15, 'duplicate three'}
 ---
 - [15, 'duplicate three']
 ...
-sorted(space.index.secondary:select('duplicate one'))
+test_helpers.sorted(space.index.secondary:select('duplicate one'))
 ---
 - - [1, 'duplicate one']
   - [2, 'duplicate one']
@@ -720,7 +726,7 @@ sorted(space.index.secondary:select('duplicate one'))
   - [4, 'duplicate one']
   - [5, 'duplicate one']
 ...
-sorted(space.index.secondary:select('duplicate two'))
+test_helpers.sorted(space.index.secondary:select('duplicate two'))
 ---
 - - [6, 'duplicate two']
   - [7, 'duplicate two']
@@ -728,7 +734,7 @@ sorted(space.index.secondary:select('duplicate two'))
   - [9, 'duplicate two']
   - [10, 'duplicate two']
 ...
-sorted(space.index.secondary:select('duplicate three'))
+test_helpers.sorted(space.index.secondary:select('duplicate three'))
 ---
 - - [11, 'duplicate three']
   - [12, 'duplicate three']
diff --git a/test/box/sql.test.lua b/test/box/sql.test.lua
index 3d2a99b74..9db701142 100644
--- a/test/box/sql.test.lua
+++ b/test/box/sql.test.lua
@@ -90,6 +90,7 @@ box.space.test1:drop()
 box.schema.user.drop('test')
 space = nil
 net_box = require('net.box')
+test_helpers = require('test_helpers')
 
 -- Prepare spaces
 box.schema.user.create('test', { password = 'test' })
@@ -110,13 +111,13 @@ space:insert{'Roe', 'Richard'}
 space:insert{'Woe', 'Richard'}
 space:insert{'Major', 'Tomas'}
 space:insert{'Kytes', 'Tomas'}
-sorted(space.index.secondary:select('Richard'))
+test_helpers.sorted(space.index.secondary:select('Richard'))
 
 
 -- A test case for Bug#729879
 -- "Zero limit is treated the same as no limit"
 -- https://bugs.launchpad.net/tarantool/+bug/729879
-sorted(space.index.secondary:select('Richard', { limit = 0 }))
+test_helpers.sorted(space.index.secondary:select('Richard', { limit = 0 }))
 s:truncate()
 
 
@@ -128,13 +129,13 @@ s:truncate()
 -- get away with it.
 
 space:insert{'Britney'}
-sorted(space.index.secondary:select('Anything'))
+test_helpers.sorted(space.index.secondary:select('Anything'))
 space:insert{'Stephanie'}
-sorted(space.index.secondary:select('Anything'))
+test_helpers.sorted(space.index.secondary:select('Anything'))
 space:insert{'Spears', 'Britney'}
 space:select{'Spears'}
-sorted(space.index.secondary:select('Anything'))
-sorted(space.index.secondary:select('Britney'))
+test_helpers.sorted(space.index.secondary:select('Anything'))
+test_helpers.sorted(space.index.secondary:select('Britney'))
 
 s.index[0]:select('Spears', { limit = 100, iterator = 'GE' })
 s.index[1]:select('Britney', { limit = 100, iterator = 'GE' })
@@ -156,7 +157,7 @@ s.index[1]:select{}
 space:select{'key1'}
 space:select{'key2'}
 space:select{'key3'}
-sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part1'))
 
 s.index[1]:select('part1', { limit = 100, iterator = 'GE' })
 s.index[0]:select('key2', { limit = 100, iterator = 'GE' })
@@ -164,7 +165,7 @@ s.index[1]:select({ 'part1', 'part2_a' }, { limit = 1, iterator = 'GE' })
 space:select{'key1'}
 space:select{'key2'}
 space:select{'key3'}
-sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part1'))
 
 space:delete('key1')
 space:delete('key2')
@@ -188,14 +189,14 @@ l
 space:select{1234567}
 space:select{11234567}
 space:select{21234567}
-sorted(space.index.secondary:select('part1'))
-sorted(space.index.secondary:select('part1_a'))
-sorted(space.index.secondary:select('part_none'))
+test_helpers.sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part1_a'))
+test_helpers.sorted(space.index.secondary:select('part_none'))
 
-sorted(s.index[1]:select({'part1', 'part2'}))
+test_helpers.sorted(s.index[1]:select({'part1', 'part2'}))
 
-sorted(space.index.secondary:select('part1'))
-sorted(space.index.secondary:select('part2'))
+test_helpers.sorted(space.index.secondary:select('part1'))
+test_helpers.sorted(space.index.secondary:select('part2'))
 
 -- cleanup
 space:delete(1234567)
@@ -226,10 +227,11 @@ space = conn.space.tweedledum
 s = box.space.tweedledum
 
 -- Bug#929654 - secondary hash index is not built with build_indexes()
-sorted(space.index.secondary:select('hello'))
-sorted(space.index.secondary:select('brave'))
-sorted(space.index.secondary:select('new'))
-sorted(space.index.secondary:select('world'))
+test_helpers = require('test_helpers')
+test_helpers.sorted(space.index.secondary:select('hello'))
+test_helpers.sorted(space.index.secondary:select('brave'))
+test_helpers.sorted(space.index.secondary:select('new'))
+test_helpers.sorted(space.index.secondary:select('world'))
 s:truncate()
 
 -- A test case for: http://bugs.launchpad.net/bugs/735140
@@ -240,7 +242,7 @@ s.index.secondary:alter{type = 'tree', unique = false}
 
 space:insert{'Spears', 'Britney'}
 space:select{'Spears'}
-sorted(space.index.secondary:select('Britney'))
+test_helpers.sorted(space.index.secondary:select('Britney'))
 -- try to insert the incoplete tuple
 space:replace{'Spears'}
 -- check that nothing has been updated
@@ -268,9 +270,9 @@ space:insert{14, 'duplicate three'}
 space:insert{15, 'duplicate three'}
 
 
-sorted(space.index.secondary:select('duplicate one'))
-sorted(space.index.secondary:select('duplicate two'))
-sorted(space.index.secondary:select('duplicate three'))
+test_helpers.sorted(space.index.secondary:select('duplicate one'))
+test_helpers.sorted(space.index.secondary:select('duplicate two'))
+test_helpers.sorted(space.index.secondary:select('duplicate three'))
 
 space:delete(1)
 space:delete(2)
diff --git a/test/box/suite.ini b/test/box/suite.ini
index fee1c40b4..ee89dd64b 100644
--- a/test/box/suite.ini
+++ b/test/box/suite.ini
@@ -4,6 +4,7 @@ description = Database tests
 script = box.lua
 disabled = rtree_errinj.test.lua tuple_bench.test.lua
 release_disabled = errinj.test.lua errinj_index.test.lua rtree_errinj.test.lua upsert_errinj.test.lua iproto_stress.test.lua
-lua_libs = lua/fifo.lua lua/utils.lua lua/bitset.lua lua/index_random_test.lua lua/push.lua lua/identifier.lua
+lua_libs = lua/test_helpers.lua lua/fifo.lua lua/utils.lua lua/bitset.lua lua/index_random_test.lua lua/push.lua lua/identifier.lua
 use_unix_sockets = True
 is_parallel = True
+pretest_clean = True
diff --git a/test/engine/suite.ini b/test/engine/suite.ini
index 3f82a1325..ddc4c04e9 100644
--- a/test/engine/suite.ini
+++ b/test/engine/suite.ini
@@ -7,3 +7,4 @@ config = engine.cfg
 #disabled = replica_join.test.lua
 lua_libs = conflict.lua ../box/lua/utils.lua ../box/lua/push.lua
 is_parallel = True
+pretest_clean = True
diff --git a/test/engine_long/delete_insert.result b/test/engine_long/delete_insert.result
index b1d504271..2cc46486a 100644
--- a/test/engine_long/delete_insert.result
+++ b/test/engine_long/delete_insert.result
@@ -1,3 +1,6 @@
+el_mod = require("suite")
+---
+...
 test_run = require('test_run')
 ---
 ...
@@ -13,7 +16,7 @@ iterations = 100000
 math.randomseed(1)
 ---
 ...
-delete_insert(engine, iterations)
+el_mod.delete_insert(engine, iterations)
 ---
 - - 100000
   - IAKGPQANAOSLARIFIBKB
diff --git a/test/engine_long/delete_insert.test.lua b/test/engine_long/delete_insert.test.lua
index 275aaa23e..83119cf14 100644
--- a/test/engine_long/delete_insert.test.lua
+++ b/test/engine_long/delete_insert.test.lua
@@ -1,6 +1,9 @@
+el_mod = require("suite")
+
 test_run = require('test_run')
 inspector = test_run.new()
 engine = inspector:get_cfg('engine')
 iterations = 100000
+
 math.randomseed(1)
-delete_insert(engine, iterations)
+el_mod.delete_insert(engine, iterations)
diff --git a/test/engine_long/delete_replace_update.result b/test/engine_long/delete_replace_update.result
index 66cb9c82c..b75091945 100644
--- a/test/engine_long/delete_replace_update.result
+++ b/test/engine_long/delete_replace_update.result
@@ -1,3 +1,6 @@
+el_mod = require("suite")
+---
+...
 engine_name = 'memtx'
 ---
 ...
@@ -7,7 +10,7 @@ iterations = 100000
 math.randomseed(1)
 ---
 ...
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 ---
 - - 100000
   - 3
@@ -17,7 +20,7 @@ delete_replace_update(engine_name, iterations)
 math.randomseed(2)
 ---
 ...
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 ---
 - - 100000
   - 3
@@ -27,7 +30,7 @@ delete_replace_update(engine_name, iterations)
 math.randomseed(3)
 ---
 ...
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 ---
 - - 100000
   - 1
@@ -37,7 +40,7 @@ delete_replace_update(engine_name, iterations)
 math.randomseed(4)
 ---
 ...
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 ---
 - - 100000
   - 3
@@ -47,7 +50,7 @@ delete_replace_update(engine_name, iterations)
 math.randomseed(5)
 ---
 ...
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 ---
 - - 100000
   - 3
diff --git a/test/engine_long/delete_replace_update.test.lua b/test/engine_long/delete_replace_update.test.lua
index 466b8f007..004597b15 100644
--- a/test/engine_long/delete_replace_update.test.lua
+++ b/test/engine_long/delete_replace_update.test.lua
@@ -1,17 +1,19 @@
+el_mod = require("suite")
+
 engine_name = 'memtx'
 iterations = 100000
 
 math.randomseed(1)
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 
 math.randomseed(2)
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 
 math.randomseed(3)
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 
 math.randomseed(4)
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
 
 math.randomseed(5)
-delete_replace_update(engine_name, iterations)
+el_mod.delete_replace_update(engine_name, iterations)
diff --git a/test/engine_long/suite.ini b/test/engine_long/suite.ini
index a46c9535f..ff12f0b50 100644
--- a/test/engine_long/suite.ini
+++ b/test/engine_long/suite.ini
@@ -7,3 +7,4 @@ lua_libs = suite.lua
 use_unix_sockets = True
 config = engine.cfg
 is_parallel = False
+pretest_clean = True
diff --git a/test/engine_long/suite.lua b/test/engine_long/suite.lua
index 464138db1..4db885031 100644
--- a/test/engine_long/suite.lua
+++ b/test/engine_long/suite.lua
@@ -1,3 +1,4 @@
+local engine_long_module = {}
 
 function string_function()
     local random_number
@@ -10,7 +11,7 @@ function string_function()
     return random_string
 end
 
-function delete_replace_update(engine_name, iterations)
+function engine_long_module.delete_replace_update(engine_name, iterations)
     local string_value
     if (box.space._space.index.name:select{'tester'}[1] ~= nil) then
         box.space.tester:drop()
@@ -69,7 +70,7 @@ function delete_replace_update(engine_name, iterations)
     return {counter, random_number, string_value_2, string_value_3}
 end
 
-function delete_insert(engine_name, iterations)
+function engine_long_module.delete_insert(engine_name, iterations)
     local string_value
     if (box.space._space.index.name:select{'tester'}[1] ~= nil) then
         box.space.tester:drop()
@@ -107,3 +108,5 @@ function delete_insert(engine_name, iterations)
     box.space.tester:drop()
     return {counter, string_value_2}
 end
+
+return engine_long_module
diff --git a/test/long_run-py/suite.ini b/test/long_run-py/suite.ini
index 251f88af6..aacda0d91 100644
--- a/test/long_run-py/suite.ini
+++ b/test/long_run-py/suite.ini
@@ -8,3 +8,4 @@ release_disabled =
 lua_libs = suite.lua
 use_unix_sockets = True
 is_parallel = False
+pretest_clean = True
diff --git a/test/luajit-tap/suite.ini b/test/luajit-tap/suite.ini
index d5b1aa798..969742ec4 100644
--- a/test/luajit-tap/suite.ini
+++ b/test/luajit-tap/suite.ini
@@ -2,3 +2,4 @@
 core = app
 description = Luajit tests
 is_parallel = False
+pretest_clean = True
diff --git a/test/replication-py/suite.ini b/test/replication-py/suite.ini
index f0ae98896..49e28916a 100644
--- a/test/replication-py/suite.ini
+++ b/test/replication-py/suite.ini
@@ -3,3 +3,4 @@ core = tarantool
 script =  master.lua
 description = tarantool/box, replication
 is_parallel = False
+pretest_clean = True
diff --git a/test/replication/suite.ini b/test/replication/suite.ini
index 6e9e3edd0..74348b2d6 100644
--- a/test/replication/suite.ini
+++ b/test/replication/suite.ini
@@ -9,3 +9,4 @@ lua_libs = lua/fast_replica.lua lua/rlimit.lua
 use_unix_sockets = True
 long_run = prune.test.lua
 is_parallel = True
+pretest_clean = True
diff --git a/test/sql-tap/suite.ini b/test/sql-tap/suite.ini
index faa56a999..270b19bc9 100644
--- a/test/sql-tap/suite.ini
+++ b/test/sql-tap/suite.ini
@@ -11,3 +11,4 @@ release_disabled = debug_mode_only.test.lua
 long_run = gh-3332-tuple-format-leak.test.lua, gh-3083-ephemeral-unref-tuples.test.lua
 config = engine.cfg
 show_reproduce_content = False
+pretest_clean = True
diff --git a/test/sql/suite.ini b/test/sql/suite.ini
index ce6ccb79a..1ddbc684e 100644
--- a/test/sql/suite.ini
+++ b/test/sql/suite.ini
@@ -7,3 +7,4 @@ config = engine.cfg
 is_parallel = True
 lua_libs = lua/sql_tokenizer.lua
 release_disabled = errinj.test.lua view_delayed_wal.test.lua sql-debug.test.lua
+pretest_clean = True
diff --git a/test/unit/suite.ini b/test/unit/suite.ini
index 75c80ece1..df9b458ee 100644
--- a/test/unit/suite.ini
+++ b/test/unit/suite.ini
@@ -2,3 +2,4 @@
 core = unittest
 description = unit tests
 is_parallel = True
+pretest_clean = True
diff --git a/test/vinyl/suite.ini b/test/vinyl/suite.ini
index d2a194d85..3612cf44b 100644
--- a/test/vinyl/suite.ini
+++ b/test/vinyl/suite.ini
@@ -9,3 +9,4 @@ use_unix_sockets = True
 long_run = stress.test.lua large.test.lua write_iterator_rand.test.lua dump_stress.test.lua select_consistency.test.lua throttle.test.lua
 is_parallel = False
 disabled = upgrade.test.lua
+pretest_clean = True
diff --git a/test/wal_off/suite.ini b/test/wal_off/suite.ini
index bd3a349db..679104f82 100644
--- a/test/wal_off/suite.ini
+++ b/test/wal_off/suite.ini
@@ -4,3 +4,4 @@ script = wal.lua
 description = tarantool/box, wal_mode = none
 use_unix_sockets = True
 is_parallel = True
+pretest_clean = True
diff --git a/test/xlog-py/suite.ini b/test/xlog-py/suite.ini
index d7d512b0d..cad0b0041 100644
--- a/test/xlog-py/suite.ini
+++ b/test/xlog-py/suite.ini
@@ -5,3 +5,4 @@ script = box.lua
 lua_libs = lua/fiber.lua lua/fifo.lua
 use_unix_sockets = True
 is_parallel = False
+pretest_clean = True
diff --git a/test/xlog/suite.ini b/test/xlog/suite.ini
index 4043f3700..06cfbb068 100644
--- a/test/xlog/suite.ini
+++ b/test/xlog/suite.ini
@@ -9,3 +9,4 @@ config = suite.cfg
 use_unix_sockets = True
 long_run = snap_io_rate.test.lua
 is_parallel = True
+pretest_clean = True
-- 
2.17.1




-- 
Alexander Tikhonov

[-- Attachment #2: Type: text/html, Size: 36236 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [tarantool-patches] Re: test: switched on pretest_clean routine
  2019-03-06  8:47 [tarantool-patches] test: switched on pretest_clean routine Alexander Tikhonov
@ 2019-03-11  5:26 ` Alexander Turenko
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander Turenko @ 2019-03-11  5:26 UTC (permalink / raw)
  To: Alexander Tikhonov; +Cc: tarantool-patches

Please, use git format-patch and git send-email to produce plain text
patches. It is easier to comment and, despite we have a copy on a
branch, allows to apply a patch right for an email.

I think that it worth to add a detailed description of the feature into
test-run's README, because it is hard to sell the feature to developers
if the behaviour is not clear. I had filed
https://github.com/tarantool/test-run/issues/147 on it and then decided
to do it myself, see PR #148. So no actions are needed from you :)

cfg_filter() is used in two test: box/admin.test.lua and
box.cfg.test.lua. The latter seems to supersedes the case in
admin.test.lua, so I think the case in admin.test.lua can be removed and
the cfg_filter() function can be added right into cfg.test.lua. Please,
verify this with one of maintainers and do.

I also dig a bit deeper and found the commit where the 'print box.cfg,
box.cfg{}, print box.cfg' case was introduced: 4bb7d70a06. It seems that
'must be read-only' comment should be under 'box.cfg.nosuchoption = 1'
:)

WBR, Alexander Turenko.

On Wed, Mar 06, 2019 at 11:47:49AM +0300, Alexander Tikhonov wrote:
> 
> test: switched on pretest_clean routine
> 
> Switched on pretest_clean routine which helps to cleanup
> the test environment before test start. Also moved the global
> functions in box suite into the test_helpers module, to make
> it possible to use it in each of the test while global functions
> are removing with pretest_clean routine.
> 
> ---
> Github pull request:  https://github.com/tarantool/tarantool/pull/4029  

For the record, branch: gh-3863-runtest-clean.

> Travis-CI:  https://travis-ci.org/tarantool/tarantool/builds/502431423  
> 
> From acbd981d79fe7b2ad5cdf5c2c1e9c1d3613d89c9 Mon Sep 17 00:00:00 2001
> From: "Alexander V. Tikhonov" <avtikhon@tarantool.org>
> Date: Wed, 6 Mar 2019 10:17:47 +0300
> Subject: [PATCH] test: switched on pretest_clean routine
> 
> Switched on pretest_clean routine which helps to cleanup
> the test environment before test start. Also moved the global
> functions in box suite into the test_helpers module, to make
> it possible to use it in each of the test while global functions
> are removing with pretest_clean routine.

You are mention gh-3863 in the branch name, but don't mention it in the
commit message. Whether the issue fixed by your commit? If so, please
add 'Fixes #3863' or 'Closes #3863' and the end of the commit message.

> diff --git a/test/box/admin.test.lua b/test/box/admin.test.lua
> index 4e7a78f5b..353afea9c 100644
> --- a/test/box/admin.test.lua
> +++ b/test/box/admin.test.lua
> @@ -6,7 +6,8 @@ space = box.schema.space.create('tweedledum')
>  index = space:create_index('primary')
>  
>  help()
> -cfg_filter(box.cfg)
> +test_helpers = require('test_helpers')
> +test_helpers.cfg_filter(box.cfg)
>  space:insert{1, 'tuple'}
>  box.snapshot()
>  space:delete{1}

Nit: I prefer to have all requires at top of a file when possible.

> diff --git a/test/box/lua/test_helpers.lua b/test/box/lua/test_helpers.lua
> new file mode 100644
> index 000000000..bb231e73b
> --- /dev/null
> +++ b/test/box/lua/test_helpers.lua
>
> <...>
>
> +function compare(a,b)
> +    return a[1] < b[1]
> +end

It would be better to make this function local:

-function compare(a,b)
+local function compare(a, b)

But I think it should be part of a test, see below.

> +
> +function test_helpers.sorted(data)
> +    table.sort(data, compare)
> +    return data
> +end
> +

It is used only in box/sql.test.lua. I think it is better to just add it
to the test. It is almost one-liner.

> diff --git a/test/engine_long/delete_insert.result b/test/engine_long/delete_insert.result
> index b1d504271..2cc46486a 100644
> --- a/test/engine_long/delete_insert.result
> +++ b/test/engine_long/delete_insert.result
> @@ -1,3 +1,6 @@
> +el_mod = require("suite")

You are use three names for this module: 'el_mod' for a variable,
'suite' for a file and 'engine_long_module' inside the suite.lua file. I
prefer to use one where possible.

I would use the name 'suite' everywhere, because all places where it is
used are in the scope of the test suite and the name should not confuse
anybody.

I would also do the following in corresponding tests:

```
suite = require('suite')
delete_insert = suite.delete_insert
```

```
suite = require('suite')
delete_replace_update = delete_replace_update
```

This will decrease the diff much.

Also I think it worth to ask Vladimir why these function were factored
out from corresponding tests. Maybe it worth to moved them into the
tests?

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-03-11  5:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-06  8:47 [tarantool-patches] test: switched on pretest_clean routine Alexander Tikhonov
2019-03-11  5:26 ` [tarantool-patches] " Alexander Turenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox