diff --git a/test/module/net_sql.common.lua b/test/module/net_sql.common.lua deleted file mode 100644 index 715defa4329f047bde96bf188d89845fb69d2c5f..0000000000000000000000000000000000000000 --- a/test/module/net_sql.common.lua +++ /dev/null @@ -1,5 +0,0 @@ -package.path = "../../src/module/sql/?.lua;"..package.path -require("sql") -if type(box.net.sql) ~= "table" then - error("net.sql load failed") -end diff --git a/test/module/net_sql.common.result b/test/module/net_sql.common.result index 2d077342608b7be479ad3ca5c7a9e20d95954ee0..2ac6a13cf1b9e68753def97a8267fcca25f26b3d 100644 --- a/test/module/net_sql.common.result +++ b/test/module/net_sql.common.result @@ -1,8 +1,13 @@ -lua type(box.net.sql) +package.path = "../../src/module/sql/?.lua" --- - - table ... -lua c = box.net.sql.connect('abcd') +package.cpath = "?.so" +--- +... +require("sql") +--- +- true +... +if type(box.net.sql) ~= "table" then error("net.sql load failed") end --- -error: '../../src/module/sql/sql.lua:29: Unknown driver ''abcd''' ... diff --git a/test/module/net_sql.common.test b/test/module/net_sql.common.test deleted file mode 100644 index 88a3352232de1240c67852a4d4a59ef9baf85a75..0000000000000000000000000000000000000000 --- a/test/module/net_sql.common.test +++ /dev/null @@ -1,6 +0,0 @@ -server.stop() -server.deploy(init_lua="module/net_sql.common.lua") - -admin("type(box.net.sql)") -admin("c = box.net.sql.connect('abcd')") - diff --git a/test/module/net_sql.common.test.lua b/test/module/net_sql.common.test.lua new file mode 100644 index 0000000000000000000000000000000000000000..6354cdaf68e787a13df9444973e272d460cbc7d0 --- /dev/null +++ b/test/module/net_sql.common.test.lua @@ -0,0 +1,6 @@ +package.path = "../../src/module/sql/?.lua" +package.cpath = "?.so" + +require("sql") +if type(box.net.sql) ~= "table" then error("net.sql load failed") end + diff --git a/test/module/net_sql.mysql.lua b/test/module/net_sql.mysql.lua deleted file mode 100644 index d3ff697f2492ed4360d0aef96ffcf1df9c45f27d..0000000000000000000000000000000000000000 --- a/test/module/net_sql.mysql.lua +++ /dev/null @@ -1,6 +0,0 @@ -package.path = "../../src/module/sql/?.lua;"..package.path -require("sql") -if type(box.net.sql) ~= "table" then - error("net.sql load failed") -end -require("box.net.mysql") diff --git a/test/module/net_sql.mysql.result b/test/module/net_sql.mysql.result index f32ae3286259a4eb6ff744cd77ee5cdac6d6ba64..edd89868284bfd2c0083c8179451840f567d244b 100644 --- a/test/module/net_sql.mysql.result +++ b/test/module/net_sql.mysql.result @@ -1,6 +1,31 @@ +package.path = "../../src/module/sql/?.lua" +--- +... +package.cpath = "?.so" +--- +... +require("sql") +--- +- true +... +if type(box.net.sql) ~= "table" then error("net.sql load failed") end +--- +... +os.execute("mkdir -p box/net/") +--- +- 0 +... +os.execute("cp ../../src/module/mysql/mysql.so box/net/") +--- +- 0 +... +require("box.net.mysql") +--- +- true +... c = box.net.sql.connect('abcd') --- -- error: '[string "-- sql.lua (internal file)..."]:29: Unknown driver ''abcd''' +- error: '../../src/module/sql/sql.lua:29: Unknown driver ''abcd''' ... function dump(v) return box.cjson.encode(v) end --- @@ -20,9 +45,9 @@ for k, v in pairs(c) do print(k, ': ', type(v)) end ... c:execute('SEL ECT 1') --- -- error: '[string "-- sql.lua (internal file)..."]:105: You have an error in your - SQL syntax; check the manual that corresponds to your MySQL server version for - the right syntax to use near ''SEL ECT 1'' at line 1' +- error: '../../src/module/sql/sql.lua:105: You have an error in your SQL syntax; + check the manual that corresponds to your MySQL server version for the right syntax + to use near ''SEL ECT 1'' at line 1' ... dump({c:execute('SELECT ? AS bool1, ? AS bool2, ? AS nil, ? AS num, ? AS str', true, false, nil, 123, 'abc')}) --- @@ -72,3 +97,7 @@ c:commit() --- - 0 ... +os.execute("rm -rf box/net/") +--- +- 0 +... diff --git a/test/module/net_sql.mysql.test b/test/module/net_sql.mysql.test deleted file mode 100644 index 36a5631edf500cd1a7af769d62d4c412935819da..0000000000000000000000000000000000000000 --- a/test/module/net_sql.mysql.test +++ /dev/null @@ -1,40 +0,0 @@ -# encoding: tarantool -import os -import shutil - -module_path = os.path.join(vardir, "box/net") -module_path_so = module_path + "/mysql.so" -os.makedirs(module_path) -shutil.copy("../src/module/mysql/mysql.so", module_path_so) - -server.stop() -server.deploy(init_lua="module/net_sql.mysql.lua") - -exec admin "lua c = box.net.sql.connect('abcd')" -exec admin "lua dump = function(v) return box.cjson.encode(v) end" - -exec admin "lua connect = {}" -exec admin "lua for tk in string.gmatch(os.getenv('MYSQL'), '[^:]+') do table.insert(connect, tk) end" - -# mysql -exec admin "lua c = box.net.sql.connect('mysql', unpack(connect))" -exec admin "lua for k, v in pairs(c) do print(k, ': ', type(v)) end" -exec admin "lua c:execute('SEL ECT 1')" -exec admin "lua dump({c:execute('SELECT ? AS bool1, ? AS bool2, ? AS nil, ? AS num, ? AS str', true, false, nil, 123, 'abc')})" - -exec admin "lua dump({c:execute('SELECT * FROM (SELECT ?) t WHERE 1 = 0', 2)})" -exec admin "lua dump({c:execute('CREATE PROCEDURE p1() BEGIN SELECT 1 AS One; SELECT 2 AS Two, 3 AS Three; END')})" -exec admin "lua dump({c:execute('CALL p1')})" -exec admin "lua dump({c:execute('DROP PROCEDURE p1')})" -exec admin "lua dump({c:execute('SELECT 1 AS one UNION ALL SELECT 2')})" -exec admin "lua dump({c:execute('SELECT 1 AS one UNION ALL SELECT 2; SELECT ? AS two', 'abc')})" - -exec admin "lua c:quote('test \"abc\" test')" - -exec admin "lua c:begin_work()" -exec admin "lua c:rollback()" -exec admin "lua c:begin_work()" -exec admin "lua c:commit()" - -os.unlink(module_path_so) -os.removedirs(module_path) diff --git a/test/box/net_sql.mysql.test.lua b/test/module/net_sql.mysql.test.lua similarity index 74% rename from test/box/net_sql.mysql.test.lua rename to test/module/net_sql.mysql.test.lua index f5191cfa7160e6450d2f21d401af8ec4db398bb7..d33ff1b300dacb19b2ebd367d34f76fc48746585 100644 --- a/test/box/net_sql.mysql.test.lua +++ b/test/module/net_sql.mysql.test.lua @@ -1,3 +1,14 @@ +package.path = "../../src/module/sql/?.lua" +package.cpath = "?.so" + +require("sql") +if type(box.net.sql) ~= "table" then error("net.sql load failed") end + +os.execute("mkdir -p box/net/") +os.execute("cp ../../src/module/mysql/mysql.so box/net/") + +require("box.net.mysql") + c = box.net.sql.connect('abcd') function dump(v) return box.cjson.encode(v) end @@ -24,3 +35,5 @@ c:begin_work() c:rollback() c:begin_work() c:commit() + +os.execute("rm -rf box/net/") diff --git a/test/module/net_sql.pg.lua b/test/module/net_sql.pg.lua deleted file mode 100644 index 6711d955d3d5ee4d9146eaf87c16ae3d5a205773..0000000000000000000000000000000000000000 --- a/test/module/net_sql.pg.lua +++ /dev/null @@ -1,6 +0,0 @@ -package.path = "../../src/module/sql/?.lua;"..package.path -require("sql") -if type(box.net.sql) ~= "table" then - error("net.sql load failed") -end -require("box.net.pg") diff --git a/test/module/net_sql.pg.result b/test/module/net_sql.pg.result index 454b897926e919f9e71f693389c2b88d95dc95e4..d503dd6a9238eef3b7440b97c3f56e5417349a43 100644 --- a/test/module/net_sql.pg.result +++ b/test/module/net_sql.pg.result @@ -1,10 +1,31 @@ -c = box.net.sql.connect('abcd') +package.path = "../../src/module/sql/?.lua" +--- +... +package.cpath = "?.so" --- -error: '../../src/module/sql/sql.lua:29: Unknown driver ''abcd''' ... -c = box.net.sql.connect('pg') +require("sql") +--- +- true +... +if type(box.net.sql) ~= "table" then error("net.sql load failed") end --- -error: '../../src/module/sql/sql.lua:64: Usage: box.net.sql.connect(''pg'', host, port, user, password, db, ...)' +... +os.execute("mkdir -p box/net/") +--- +- 0 +... +os.execute("cp ../../src/module/pg/pg.so box/net/") +--- +- 0 +... +require("box.net.pg") +--- +- true +... +c = box.net.sql.connect('abcd') +--- +- error: '../../src/module/sql/sql.lua:29: Unknown driver ''abcd''' ... dump = function(v) return box.cjson.encode(v) end --- @@ -73,7 +94,7 @@ dump({c:select('SELECT * FROM (VALUES (1,2), (2,3)) t')}) ... dump({c:single('SELECT * FROM (VALUES (1,2), (2,3)) t')}) --- -error: '../../src/module/sql/sql.lua:156: SQL request returned multiply rows' +- error: '../../src/module/sql/sql.lua:156: SQL request returned multiply rows' ... dump({c:single('SELECT * FROM (VALUES (1,2)) t')}) --- @@ -85,14 +106,12 @@ dump({c:perform('SELECT * FROM (VALUES (1,2), (2,3)) t')}) ... c:execute('SELEC T') --- -error: '../../src/module/sql/sql.lua:105: ERROR: syntax error at or near "SELEC" -LINE 1: SELEC T - ^ -' +- error: "../../src/module/sql/sql.lua:105: ERROR: syntax error at or near \"SELEC\"\nLINE + 1: SELEC T\n ^\n" ... c = box.net.sql.connect('abcd') --- -error: '../../src/module/sql/sql.lua:29: Unknown driver ''abcd''' +- error: '../../src/module/sql/sql.lua:29: Unknown driver ''abcd''' ... c:quote('abc\"cde\"def') --- @@ -118,3 +137,7 @@ c:txn(function(dbi) dbi:single('SELECT 1') end) --- - true ... +os.execute("rm -rf box/net/") +--- +- 0 +... diff --git a/test/module/net_sql.pg.test b/test/module/net_sql.pg.test deleted file mode 100644 index 3d1144824fec57ba49594828de32fbbbf7b650fb..0000000000000000000000000000000000000000 --- a/test/module/net_sql.pg.test +++ /dev/null @@ -1,55 +0,0 @@ -# encoding: tarantool -import os -import shutil - -module_path = os.path.join(vardir, "box/net") -module_path_so = module_path + "/pg.so" -os.makedirs(module_path) -shutil.copy("../src/module/pg/pg.so", module_path_so) - -server.stop() -server.deploy(init_lua="module/net_sql.pg.lua") - -exec admin "lua c = box.net.sql.connect('abcd')" -exec admin "lua c = box.net.sql.connect('pg')" - -exec admin "lua dump = function(v) return box.cjson.encode(v) end" - -exec admin "lua connect = {}" -exec admin "lua for tk in string.gmatch(os.getenv('PG'), '[^:]+') do table.insert(connect, tk) end" - -# postgresql -exec admin "lua c = box.net.sql.connect('pg', unpack(connect))" -exec admin "lua dump({c:execute('SELECT 123::text AS bla, 345')})" -exec admin "lua dump({c:execute('SELECT -1 AS neg, NULL AS abc')})" -exec admin "lua dump({c:execute('SELECT -1.1 AS neg, 1.2 AS pos')})" -exec admin "lua dump({c:execute('SELECT ARRAY[1,2] AS neg, 1.2 AS pos')})" -exec admin "lua dump({c:execute('SELECT ? AS val', 'abc')})" -exec admin "lua dump({c:execute('SELECT ? AS val', 123)})" -exec admin "lua dump({c:execute('SELECT ? AS val', true)})" -exec admin "lua dump({c:execute('SELECT ? AS val', false)})" -exec admin "lua dump({c:execute('SELECT ? AS val, ? AS num, ? AS str', false, 123, 'abc')})" -exec admin "lua dump({c:execute('DROP TABLE IF EXISTS unknown_table')})" -exec admin "lua dump({c:execute('SELECT * FROM (VALUES (1,2), (2,3)) t')})" -exec admin "lua c:ping()" -exec admin "lua dump({c:select('SELECT * FROM (VALUES (1,2), (2,3)) t')})" -exec admin "lua dump({c:single('SELECT * FROM (VALUES (1,2), (2,3)) t')})" -exec admin "lua dump({c:single('SELECT * FROM (VALUES (1,2)) t')})" -exec admin "lua dump({c:perform('SELECT * FROM (VALUES (1,2), (2,3)) t')})" -exec admin "lua c:execute('SELEC T')" - -exec admin "lua c = box.net.sql.connect('abcd')" - - -exec admin "lua c:quote('abc\"cde\"def')" - - -exec admin "lua c:begin_work()" -exec admin "lua c:rollback()" -exec admin "lua c:begin_work()" -exec admin "lua c:commit()" - -exec admin "lua c:txn(function(dbi) dbi:single('SELECT 1') end)" - -os.unlink(module_path_so) -os.removedirs(module_path) diff --git a/test/box/net_sql.pg.test.lua b/test/module/net_sql.pg.test.lua similarity index 80% rename from test/box/net_sql.pg.test.lua rename to test/module/net_sql.pg.test.lua index 689638583630b4676ba400a4d2bf5019673fdf27..d888808e60ac753d63899849405402c6b69c0376 100644 --- a/test/box/net_sql.pg.test.lua +++ b/test/module/net_sql.pg.test.lua @@ -1,3 +1,14 @@ +package.path = "../../src/module/sql/?.lua" +package.cpath = "?.so" + +require("sql") +if type(box.net.sql) ~= "table" then error("net.sql load failed") end + +os.execute("mkdir -p box/net/") +os.execute("cp ../../src/module/pg/pg.so box/net/") + +require("box.net.pg") + c = box.net.sql.connect('abcd') dump = function(v) return box.cjson.encode(v) end @@ -34,3 +45,5 @@ c:begin_work() c:commit() c:txn(function(dbi) dbi:single('SELECT 1') end) + +os.execute("rm -rf box/net/") diff --git a/test/module/sophia.lua b/test/module/sophia.lua deleted file mode 100644 index 9ffd592643f39d9e91b7fa58012c76d168681250..0000000000000000000000000000000000000000 --- a/test/module/sophia.lua +++ /dev/null @@ -1 +0,0 @@ -require("box.sophia") diff --git a/test/module/sophia.result b/test/module/sophia.result index e3a5165d9fca1b0aecf861c200b19fe9149ed583..57d016b172c0ff7a9ca0e0a690a28e581461c71d 100644 --- a/test/module/sophia.result +++ b/test/module/sophia.result @@ -1,101 +1,146 @@ -lua env = box.sophia.create() +package.cpath = "?.so" --- ... -lua flags = bit.bor(box.sophia.SPO_RDWR, box.sophia.SPO_CREAT) +os.execute("mkdir -p box") --- +- 0 ... -lua env:ctl(box.sophia.SPDIR, flags, "./sophia") +os.execute("cp ../../src/module/sophia/sophia.so box/") --- - - 0 +- 0 ... -lua env:open() +sophia = require("box.sophia") --- - - 0 ... -lua for key=1, 10 do print(env:set(tostring(key), tostring(key))) end +env = sophia.create() --- -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 ... -lua for key=1, 10 do print(env:get(tostring(key))) end +flags = bit.bor(sophia.SPO_RDWR, sophia.SPO_CREAT) --- -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 ... -lua env:close() +env:ctl(sophia.SPDIR, flags, "./sophia") --- - - 0 +- 0 ... -lua env = box.sophia.create() +env:open() --- +- 0 ... -lua flags = bit.bor(box.sophia.SPO_RDWR) +t = {} --- ... -lua env:ctl(box.sophia.SPDIR, flags, "./sophia") +for key=1, 10 do table.insert(t, env:set(tostring(key), tostring(key))) end --- - - 0 ... -lua env:open() +t --- - - 0 +- - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 ... -lua for key=1, 10 do print(env:get(tostring(key))) end +t = {} --- -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 ... -lua for key=1, 10 do print(env:delete(tostring(key))) end +for key=1, 10 do table.insert(t, env:get(tostring(key))) end --- -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 ... -lua for key=1, 10 do print(env:get(tostring(key))) end +t --- -nil -nil -nil -nil -nil -nil -nil -nil -nil -nil +- - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' ... -lua env:close() +t = {} --- - - 0 +... +env:close() +--- +- 0 +... +env = sophia.create() +--- +... +flags = bit.bor(sophia.SPO_RDWR) +--- +... +env:ctl(sophia.SPDIR, flags, "./sophia") +--- +- 0 +... +env:open() +--- +- 0 +... +t = {} +--- +... +for key=1, 10 do table.insert(t, env:get(tostring(key))) end +--- +... +t +--- +- - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' +... +t = {} +--- +... +for key=1, 10 do table.insert(t, env:delete(tostring(key))) end +--- +... +t +--- +- - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +... +t = {} +--- +... +for key=1, 10 do table.insert(t, env:get(tostring(key))) end +--- +... +t +--- +- [] +... +t = {} +--- +... +env:close() +--- +- 0 +... +os.execute("rm -rf box/") +--- +- 0 ... diff --git a/test/module/sophia.test.lua b/test/module/sophia.test.lua new file mode 100644 index 0000000000000000000000000000000000000000..922167d38608914df73c64e55714c8aee898f2e2 --- /dev/null +++ b/test/module/sophia.test.lua @@ -0,0 +1,37 @@ +package.cpath = "?.so" + +os.execute("mkdir -p box") +os.execute("cp ../../src/module/sophia/sophia.so box/") + +sophia = require("box.sophia") + +env = sophia.create() +flags = bit.bor(sophia.SPO_RDWR, sophia.SPO_CREAT) +env:ctl(sophia.SPDIR, flags, "./sophia") +env:open() +t = {} +for key=1, 10 do table.insert(t, env:set(tostring(key), tostring(key))) end +t +t = {} +for key=1, 10 do table.insert(t, env:get(tostring(key))) end +t +t = {} +env:close() + +env = sophia.create() +flags = bit.bor(sophia.SPO_RDWR) +env:ctl(sophia.SPDIR, flags, "./sophia") +env:open() +t = {} +for key=1, 10 do table.insert(t, env:get(tostring(key))) end +t +t = {} +for key=1, 10 do table.insert(t, env:delete(tostring(key))) end +t +t = {} +for key=1, 10 do table.insert(t, env:get(tostring(key))) end +t +t = {} +env:close() + +os.execute("rm -rf box/") diff --git a/test/module/tarantool.cfg b/test/module/tarantool.cfg index 69674c64b7d329793e659c8864ed222f23a9eccf..7afb21ed0571ef7cc3bb89cf5617c1001284116b 100644 --- a/test/module/tarantool.cfg +++ b/test/module/tarantool.cfg @@ -23,8 +23,6 @@ logger="cat - >> tarantool.log" # # Read only and read-write port. primary_port = 33013 -# Read-only port. -secondary_port = 33014 # # The port for administrative commands. # @@ -34,12 +32,3 @@ admin_port = 33015 # When the limit is reached, Tarantool closes # the WAL and starts a new one. rows_per_wal = 50 - -# 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" -