From 6efaeaaf0e34ad8d830a821c6625fce31f20a57c Mon Sep 17 00:00:00 2001
From: Konstantin Osipov <kostja@tarantool.org>
Date: Thu, 29 Aug 2013 19:26:43 +0400
Subject: [PATCH] Convert 'wal' suite to Lua, lua-console, dict-v6.

---
 test/wal/lua.result        |  57 +++++++---
 test/wal/lua.test.lua      |  32 ++++++
 test/wal/lua.test.py       |  18 ----
 test/wal/oom.result        | 207 +++++++++++++++++++++++--------------
 test/wal/oom.test.lua      |  45 ++++++++
 test/wal/oom.test.py       |  17 ---
 test/wal/tarantool.cfg     |  20 ----
 test/wal/wal_mode.result   |  74 ++++++++-----
 test/wal/wal_mode.test.lua |  16 +++
 test/wal/wal_mode.test.py  |  13 ---
 10 files changed, 314 insertions(+), 185 deletions(-)
 create mode 100644 test/wal/lua.test.lua
 delete mode 100644 test/wal/lua.test.py
 create mode 100644 test/wal/oom.test.lua
 delete mode 100644 test/wal/oom.test.py
 create mode 100644 test/wal/wal_mode.test.lua
 delete mode 100644 test/wal/wal_mode.test.py

diff --git a/test/wal/lua.result b/test/wal/lua.result
index cc5c394bf6..e084ebf31f 100644
--- a/test/wal/lua.result
+++ b/test/wal/lua.result
@@ -1,25 +1,52 @@
-
-# A test case for Bug#1042738
-# https://bugs.launchpad.net/tarantool/+bug/1042738
-# Iteration over a non-unique TREE index
-#
-for i=1, 1000 do box.space[1]:truncate() for j=1, 30 do box.insert(1, j, os.time(), 1) end; index = box.space[1].index[1]; count = 0; for k,v in index.next, index, nil do count = count+1; end; if count ~= 30 then print('bug at iteration ', i, ', count is ', count) end end
+box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')
 ---
+- [0, 0, 'tweedledum']
 ...
-box.space[1]:truncate()
+box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str')
 ---
+- [0, 0, 'primary', 1752392040, 1, 1, 0, 'str']
 ...
-
-# A test case for Bug#1043858 server crash on lua stack overflow on CentOS
-# 5.4
-#
-for i = 1, 100000, 1 do box.space[1]:insert(i,i) end
+box.insert(box.schema.INDEX_ID, 0, 1, 'secondary', 'tree', 0, 1, 1, 'num')
 ---
+- [0, 1, 'secondary', 1701147252, 0, 1, 1, 'num']
 ...
-local t1 = {box.select(1, 1)}
+space = box.space[0]
 ---
-error: 'Lua error: stack overflow'
 ...
-box.space[1]:truncate()
+-- A test case for Bug#1042738
+-- https://bugs.launchpad.net/tarantool/+bug/1042738
+-- Iteration over a non-unique TREE index
+-- setopt delimiter ';'
+for i = 1, 1000 do
+    space:truncate()
+    for j = 1, 30 do
+        space:insert(j, os.time(), 1)
+    end
+    count = 0
+    for v in space.index[1]:iterator(box.index.ALL) do
+        count = count + 1
+    end
+    if count ~= 30 then
+        error('bug at iteration '..i..', count is '..count)
+    end
+end;
+---
+...
+-- setopt delimiter ''
+space:truncate()
+---
+...
+--
+-- A test case for Bug#1043858 server crash on lua stack overflow on CentOS
+-- 5.4
+--
+for i = 1, 100000, 1 do space:insert(i,i) end
+---
+...
+local t1 = {space:select(1)}
+---
+- error: 'Lua error: stack overflow'
+...
+space:drop()
 ---
 ...
diff --git a/test/wal/lua.test.lua b/test/wal/lua.test.lua
new file mode 100644
index 0000000000..29fb90fdc5
--- /dev/null
+++ b/test/wal/lua.test.lua
@@ -0,0 +1,32 @@
+box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')
+box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'str')
+box.insert(box.schema.INDEX_ID, 0, 1, 'secondary', 'tree', 0, 1, 1, 'num')
+space = box.space[0]
+-- A test case for Bug#1042738
+-- https://bugs.launchpad.net/tarantool/+bug/1042738
+-- Iteration over a non-unique TREE index
+
+-- setopt delimiter ';'
+for i = 1, 1000 do
+    space:truncate()
+    for j = 1, 30 do
+        space:insert(j, os.time(), 1)
+    end
+    count = 0
+    for v in space.index[1]:iterator(box.index.ALL) do
+        count = count + 1
+    end
+    if count ~= 30 then
+        error('bug at iteration '..i..', count is '..count)
+    end
+end;
+-- setopt delimiter ''
+space:truncate()
+
+--
+-- A test case for Bug#1043858 server crash on lua stack overflow on CentOS
+-- 5.4
+--
+for i = 1, 100000, 1 do space:insert(i,i) end
+local t1 = {space:select(1)}
+space:drop()
diff --git a/test/wal/lua.test.py b/test/wal/lua.test.py
deleted file mode 100644
index 90236b6b09..0000000000
--- a/test/wal/lua.test.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# encoding: utf-8
-import sys
-print """
-# A test case for Bug#1042738
-# https://bugs.launchpad.net/tarantool/+bug/1042738
-# Iteration over a non-unique TREE index
-#"""
-
-admin("for i=1, 1000 do box.space[1]:truncate() for j=1, 30 do box.insert(1, j, os.time(), 1) end; index = box.space[1].index[1]; count = 0; for k,v in index.next, index, nil do count = count+1; end; if count ~= 30 then print('bug at iteration ', i, ', count is ', count) end end")
-admin("box.space[1]:truncate()")
-
-print """
-# A test case for Bug#1043858 server crash on lua stack overflow on CentOS
-# 5.4
-#"""
-admin("for i = 1, 100000, 1 do box.space[1]:insert(i,i) end")
-admin("local t1 = {box.select(1, 1)}")
-admin("box.space[1]:truncate()")
diff --git a/test/wal/oom.result b/test/wal/oom.result
index 220288935c..e3c0df9b5c 100644
--- a/test/wal/oom.result
+++ b/test/wal/oom.result
@@ -1,107 +1,160 @@
-i = 1 while true do box.insert(0, box.space[0]:len(), string.rep('test', i)) i = i + 1 end
+box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')
 ---
-error: 'Failed to allocate 19436 bytes in slab allocator for tuple'
+- [0, 0, 'tweedledum']
 ...
-box.space[0]:len()
+box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'num')
 ---
- - 4853
+- [0, 0, 'primary', 1752392040, 1, 1, 0, 'num']
 ...
-i = 1 while true do box.insert(0, box.space[0]:len(), string.rep('test', i)) i = i + 1 end
+space = box.space[0]
 ---
-error: 'Failed to allocate 4095 bytes in slab allocator for tuple'
 ...
-box.space[0]:len()
+-- setopt delimiter ';'
+i = 1;
 ---
- - 5871
 ...
-i = 1 while true do box.insert(0, box.space[0]:len(), string.rep('test', i)) i = i + 1 end
+while true do
+    space:insert(space:len(), string.rep('test', i))
+    i = i + 1
+end;
 ---
-error: 'Failed to allocate 2051 bytes in slab allocator for tuple'
+- error: Failed to allocate 19436 bytes in slab allocator for tuple
 ...
-box.space[0]:len()
+space:len();
 ---
- - 6378
+- 4853
 ...
-box.space[0]:select(0, 0)
+i = 1;
 ---
- - 0: {1953719668}
 ...
-box.space[0]:select(0, 5)
+while true do
+    space:insert(space:len(), string.rep('test', i))
+    i = i + 1
+end;
 ---
- - 5: {'testtesttesttesttesttest'}
+- error: Failed to allocate 4095 bytes in slab allocator for tuple
 ...
-box.space[0]:select(0, 9)
+space:len();
 ---
- - 9: {'testtesttesttesttesttesttesttesttesttest'}
+- 5871
 ...
-box.space[0]:select(0, 11)
+i = 1;
 ---
- - 11: {'testtesttesttesttesttesttesttesttesttesttesttest'}
 ...
-box.space[0]:select(0, 15)
+while true do
+    space:insert(space:len(), string.rep('test', i))
+    i = i + 1
+end;
 ---
- - 15: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
+- error: Failed to allocate 2051 bytes in slab allocator for tuple
 ...
-i = 0 for k,v in box.space[0]:pairs() do print(v) i = i + 1 if i == 50 then break end end
+-- setopt delimiter ''
+space:len()
 ---
-0: {1953719668}
-1: {8391162081565697396}
-2: {'testtesttest'}
-3: {'testtesttesttest'}
-4: {'testtesttesttesttest'}
-5: {'testtesttesttesttesttest'}
-6: {'testtesttesttesttesttesttest'}
-7: {'testtesttesttesttesttesttesttest'}
-8: {'testtesttesttesttesttesttesttesttest'}
-9: {'testtesttesttesttesttesttesttesttesttest'}
-10: {'testtesttesttesttesttesttesttesttesttesttest'}
-11: {'testtesttesttesttesttesttesttesttesttesttesttest'}
-12: {'testtesttesttesttesttesttesttesttesttesttesttesttest'}
-13: {'testtesttesttesttesttesttesttesttesttesttesttesttesttest'}
-14: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-15: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-16: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-17: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-18: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-19: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-20: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-21: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-22: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-23: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-24: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-25: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-26: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-27: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-28: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-29: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-30: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-31: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-32: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-33: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-34: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-35: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-36: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-37: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-38: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-39: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-40: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-41: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-42: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-43: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-44: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-45: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-46: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-47: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-48: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
-49: {'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest'}
+- 6378
 ...
-box.space[0]:truncate()
+space:select(0, 0)
 ---
+- [0, 1953719668]
 ...
-box.space[0]:insert(0, 'test')
+space:select(0, 5)
 ---
- - 0: {1953719668}
+- [5, 'testtesttesttesttesttest']
 ...
-box.space[0]:truncate()
+space:select(0, 9)
+---
+- [9, 'testtesttesttesttesttesttesttesttesttest']
+...
+space:select(0, 11)
+---
+- [11, 'testtesttesttesttesttesttesttesttesttesttesttest']
+...
+space:select(0, 15)
+---
+- [15, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+...
+-- check that iterators work
+i = 0
+---
+...
+t = {}
+---
+...
+-- setopt delimiter ';'
+for k,v in space:pairs() do
+    table.insert(t, v)
+    i = i + 1
+    if i == 50 then
+        break
+    end
+end;
+---
+...
+-- setopt delimiter ''
+t
+---
+- - [0, 1953719668]
+  - [1, 8391162081565697396]
+  - [2, 'testtesttest']
+  - [3, 'testtesttesttest']
+  - [4, 'testtesttesttesttest']
+  - [5, 'testtesttesttesttesttest']
+  - [6, 'testtesttesttesttesttesttest']
+  - [7, 'testtesttesttesttesttesttesttest']
+  - [8, 'testtesttesttesttesttesttesttesttest']
+  - [9, 'testtesttesttesttesttesttesttesttesttest']
+  - [10, 'testtesttesttesttesttesttesttesttesttesttest']
+  - [11, 'testtesttesttesttesttesttesttesttesttesttesttest']
+  - [12, 'testtesttesttesttesttesttesttesttesttesttesttesttest']
+  - [13, 'testtesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [14, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [15, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [16, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [17, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [18, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [19, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [20, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [21, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [22, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [23, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [24, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [25, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [26, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [27, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [28, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [29, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [30, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [31, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [32, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [33, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [34, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [35, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [36, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [37, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [38, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [39, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [40, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [41, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [42, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [43, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [44, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [45, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [46, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [47, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [48, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+  - [49, 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest']
+...
+space:truncate()
+---
+...
+space:insert(0, 'test')
+---
+- [0, 1953719668]
+...
+space:select(0, 0)
+---
+- [0, 1953719668]
+...
+space:drop()
 ---
 ...
diff --git a/test/wal/oom.test.lua b/test/wal/oom.test.lua
new file mode 100644
index 0000000000..7aa4f22868
--- /dev/null
+++ b/test/wal/oom.test.lua
@@ -0,0 +1,45 @@
+box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')
+box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'num')
+space = box.space[0]
+-- setopt delimiter ';'
+i = 1;
+while true do
+    space:insert(space:len(), string.rep('test', i))
+    i = i + 1
+end;
+space:len();
+i = 1;
+while true do
+    space:insert(space:len(), string.rep('test', i))
+    i = i + 1
+end;
+space:len();
+i = 1;
+while true do
+    space:insert(space:len(), string.rep('test', i))
+    i = i + 1
+end;
+-- setopt delimiter ''
+space:len()
+space:select(0, 0)
+space:select(0, 5)
+space:select(0, 9)
+space:select(0, 11)
+space:select(0, 15)
+-- check that iterators work
+i = 0
+t = {}
+-- setopt delimiter ';'
+for k,v in space:pairs() do
+    table.insert(t, v)
+    i = i + 1
+    if i == 50 then
+        break
+    end
+end;
+-- setopt delimiter ''
+t
+space:truncate()
+space:insert(0, 'test')
+space:select(0, 0)
+space:drop()
diff --git a/test/wal/oom.test.py b/test/wal/oom.test.py
deleted file mode 100644
index 2c961cddcc..0000000000
--- a/test/wal/oom.test.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# encoding: utf-8
-admin("i = 1 while true do box.insert(0, box.space[0]:len(), string.rep('test', i)) i = i + 1 end")
-admin("box.space[0]:len()")
-admin("i = 1 while true do box.insert(0, box.space[0]:len(), string.rep('test', i)) i = i + 1 end")
-admin("box.space[0]:len()")
-admin("i = 1 while true do box.insert(0, box.space[0]:len(), string.rep('test', i)) i = i + 1 end")
-admin("box.space[0]:len()")
-admin("box.space[0]:select(0, 0)")
-admin("box.space[0]:select(0, 5)")
-admin("box.space[0]:select(0, 9)")
-admin("box.space[0]:select(0, 11)")
-admin("box.space[0]:select(0, 15)")
-# check that iterators work
-admin("i = 0 for k,v in box.space[0]:pairs() do print(v) i = i + 1 if i == 50 then break end end")
-admin("box.space[0]:truncate()")
-admin("box.space[0]:insert(0, 'test')")
-admin("box.space[0]:truncate()")
diff --git a/test/wal/tarantool.cfg b/test/wal/tarantool.cfg
index f1bc19d7e7..eda7396613 100644
--- a/test/wal/tarantool.cfg
+++ b/test/wal/tarantool.cfg
@@ -29,23 +29,3 @@ secondary_port = 33014
 admin_port = 33015
 wal_mode = none
 
-# Define a simple space with 1 HASH-based
-# primary key.
-space[0].enabled = 1
-space[0].index[0].type = "HASH"
-space[0].index[0].unique = 1
-space[0].index[0].key_field[0].fieldno = 0
-space[0].index[0].key_field[0].type = "NUM"
-#
-# A space used in a test case for Bug#1042738
-# "Tree iterator over entire range gives a spurious error"
-#
-space[1].enabled = 1
-space[1].index[0].type = "HASH"
-space[1].index[0].unique = 1
-space[1].index[0].key_field[0].fieldno = 0
-space[1].index[0].key_field[0].type = "STR"
-space[1].index[1].type = "TREE"
-space[1].index[1].unique = 0
-space[1].index[1].key_field[0].fieldno = 1
-space[1].index[1].key_field[0].type = "NUM"
diff --git a/test/wal/wal_mode.result b/test/wal/wal_mode.result
index 893a14387d..c348c24e60 100644
--- a/test/wal/wal_mode.result
+++ b/test/wal/wal_mode.result
@@ -1,36 +1,60 @@
 box.cfg.wal_mode
 ---
- - none
+- none
 ...
-insert into t0 values  (1)
-Insert OK, 1 row affected
-insert into t0 values  (2)
-Insert OK, 1 row affected
-insert into t0 values  (3)
-Insert OK, 1 row affected
-select * from t0 where k0 = 1
-Found 1 tuple:
-[1]
-select * from t0 where k0 = 2
-Found 1 tuple:
-[2]
-select * from t0 where k0 = 3
-Found 1 tuple:
-[3]
-select * from t0 where k0 = 4
-No match
-save snapshot
+box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')
 ---
-ok
+- [0, 0, 'tweedledum']
 ...
-save snapshot
+box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'num')
 ---
-fail: can't save snapshot, errno 17 (File exists)
+- [0, 0, 'primary', 1752392040, 1, 1, 0, 'num']
 ...
-box.space[0]:truncate()
+space = box.space[0]
 ---
 ...
-save snapshot
+space:insert(1)
+---
+- [1]
+...
+space:insert(2)
+---
+- [2]
+...
+space:insert(3)
+---
+- [3]
+...
+space:select(0, 1)
+---
+- [1]
+...
+space:select(0, 2)
+---
+- [2]
+...
+space:select(0, 3)
+---
+- [3]
+...
+space:select(0, 4)
+---
+...
+box.snapshot()
+---
+- ok
+...
+box.snapshot()
+---
+- 'error: can''t save snapshot, errno 17 (File exists)'
+...
+space:truncate()
+---
+...
+box.snapshot()
+---
+- ok
+...
+space:drop()
 ---
-ok
 ...
diff --git a/test/wal/wal_mode.test.lua b/test/wal/wal_mode.test.lua
new file mode 100644
index 0000000000..dc95ed519e
--- /dev/null
+++ b/test/wal/wal_mode.test.lua
@@ -0,0 +1,16 @@
+box.cfg.wal_mode
+box.insert(box.schema.SPACE_ID, 0, 0, 'tweedledum')
+box.insert(box.schema.INDEX_ID, 0, 0, 'primary', 'hash', 1, 1, 0, 'num')
+space = box.space[0]
+space:insert(1)
+space:insert(2)
+space:insert(3)
+space:select(0, 1)
+space:select(0, 2)
+space:select(0, 3)
+space:select(0, 4)
+box.snapshot()
+box.snapshot()
+space:truncate()
+box.snapshot()
+space:drop()
diff --git a/test/wal/wal_mode.test.py b/test/wal/wal_mode.test.py
deleted file mode 100644
index eb22f71b6a..0000000000
--- a/test/wal/wal_mode.test.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# encoding: utf-8
-admin("box.cfg.wal_mode")
-sql("insert into t0 values  (1)")
-sql("insert into t0 values  (2)")
-sql("insert into t0 values  (3)")
-sql("select * from t0 where k0 = 1")
-sql("select * from t0 where k0 = 2")
-sql("select * from t0 where k0 = 3")
-sql("select * from t0 where k0 = 4")
-admin("save snapshot")
-admin("save snapshot")
-admin("box.space[0]:truncate()")
-admin("save snapshot")
-- 
GitLab