From ec89190fc7cf9b2ea5cf974248f0a327624844f7 Mon Sep 17 00:00:00 2001
From: Dmitry Simonenko <pmwkaa@gmail.com>
Date: Fri, 4 May 2012 16:29:09 +0400
Subject: [PATCH] feature-script_dir: test case added for script_dir presence

---
 test/box/configuration.test      | 11 ++++++
 test/box/lua.result              | 57 +++++++++++++++++---------------
 test/box/tarantool_scriptdir.cfg | 49 +++++++++++++++++++++++++++
 test/box_memcached/off.result    |  1 +
 4 files changed, 91 insertions(+), 27 deletions(-)
 create mode 100644 test/box/tarantool_scriptdir.cfg

diff --git a/test/box/configuration.test b/test/box/configuration.test
index b1a9ba605e..2f3da6011c 100644
--- a/test/box/configuration.test
+++ b/test/box/configuration.test
@@ -3,6 +3,7 @@
 
 import os
 import sys
+import shutil
 
 print """
 # Bug #708685:
@@ -65,4 +66,14 @@ sys.stdout.pop_filter()
 # restore default server
 server.stop()
 server.deploy(self.suite_ini["config"])
+
+script_dir_path = os.path.join(vardir, "script_dir")
+os.mkdir(script_dir_path)
+open(os.path.join(script_dir_path, "init.lua"), "w+").close()
+
+server.stop()
+server.deploy("box/tarantool_scriptdir.cfg")
+
+shutil.rmtree(script_dir_path, True)
+
 # vim: syntax=python
diff --git a/test/box/lua.result b/test/box/lua.result
index fa860aa674..56574fa7bb 100644
--- a/test/box/lua.result
+++ b/test/box/lua.result
@@ -316,7 +316,7 @@ lua for k,v in pairs(box.cfg) do print(' - ', k, ': ', v) end
  - io_collect_interval: 0
  - pid_file: box.pid
  - slab_alloc_minimal: 64
- - primary_port: 33013
+ - slab_alloc_arena: 0.1
  - log_level: 4
  - logger_nonblock: true
  - memcached_expire_per_loop: 1024
@@ -332,18 +332,19 @@ lua for k,v in pairs(box.cfg) do print(' - ', k, ': ', v) end
  - logger: cat - >> tarantool.log
  - snap_io_rate_limit: 0
  - wal_writer_inbox_size: 16384
- - backlog: 1024
  - wal_dir_rescan_delay: 0.1
+ - backlog: 1024
+ - secondary_port: 33014
  - wal_dir: .
- - memcached_port: 0
- - wal_mode: fsync_delay
  - local_hot_standby: false
+ - wal_mode: fsync_delay
+ - rows_per_wal: 50
  - readahead: 16320
  - panic_on_wal_error: false
- - rows_per_wal: 50
- - secondary_port: 33014
+ - script_dir: .
+ - primary_port: 33013
  - bind_ipaddr: INADDR_ANY
- - slab_alloc_arena: 0.1
+ - memcached_port: 0
  - memcached_space: 23
  - memcached_expire: false
 ...
@@ -363,7 +364,7 @@ lua for k,v in pairs(box.cfg) do print(' - ', k, ': ', v) end
  - io_collect_interval: 0
  - pid_file: box.pid
  - slab_alloc_minimal: 64
- - primary_port: 33013
+ - slab_alloc_arena: 0.1
  - log_level: 4
  - logger_nonblock: true
  - memcached_expire_per_loop: 1024
@@ -379,18 +380,19 @@ lua for k,v in pairs(box.cfg) do print(' - ', k, ': ', v) end
  - logger: cat - >> tarantool.log
  - snap_io_rate_limit: 0
  - wal_writer_inbox_size: 16384
- - backlog: 1024
  - wal_dir_rescan_delay: 0.1
+ - backlog: 1024
+ - secondary_port: 33014
  - wal_dir: .
- - memcached_port: 0
- - wal_mode: fsync_delay
  - local_hot_standby: false
+ - wal_mode: fsync_delay
+ - rows_per_wal: 50
  - readahead: 16320
  - panic_on_wal_error: false
- - rows_per_wal: 50
- - secondary_port: 33014
+ - script_dir: .
+ - primary_port: 33013
  - bind_ipaddr: INADDR_ANY
- - slab_alloc_arena: 0.1
+ - memcached_port: 0
  - memcached_space: 23
  - memcached_expire: false
 ...
@@ -403,11 +405,11 @@ lua for k,v in pairs(box.space[0]) do if type(v) ~= 'table' then print(' - ', k,
 ...
 lua box.cfg.nosuchoption = 1
 ---
-error: 'Lua error: [string "box.cfg = {}..."]:51: Attempt to modify a read-only table'
+error: 'Lua error: [string "box.cfg = {}..."]:52: Attempt to modify a read-only table'
 ...
 lua box.space[300] = 1
 ---
-error: 'Lua error: [string "box.cfg = {}..."]:51: Attempt to modify a read-only table'
+error: 'Lua error: [string "box.cfg = {}..."]:52: Attempt to modify a read-only table'
 ...
 lua box.index.new('abc', 'cde')
 ---
@@ -1163,7 +1165,7 @@ lua print_config()
 io_collect_interval = 0
 pid_file = box.pid
 slab_alloc_minimal = 64
-slab_alloc_arena = 0.1
+primary_port = 33013
 log_level = 4
 logger_nonblock = true
 memcached_expire_per_loop = 1024
@@ -1173,25 +1175,26 @@ panic_on_snap_error = true
 memcached_expire_full_sweep = 3600
 replication_port = 0
 wal_fsync_delay = 0
-secondary_port = 33014
+too_long_threshold = 0.5
 slab_alloc_factor = 2
 admin_port = 33015
-memcached_space = 23
+logger = cat - >> tarantool.log
 snap_io_rate_limit = 0
 wal_writer_inbox_size = 16384
-backlog = 1024
 memcached_expire = false
-logger = cat - >> tarantool.log
-readahead = 16320
+backlog = 1024
+memcached_space = 23
+memcached_port = 0
+rows_per_wal = 50
 wal_mode = fsync_delay
 local_hot_standby = false
-wal_dir = .
+secondary_port = 33014
 panic_on_wal_error = false
-memcached_port = 0
-too_long_threshold = 0.5
+script_dir = .
+wal_dir = .
 bind_ipaddr = INADDR_ANY
-rows_per_wal = 50
-primary_port = 33013
+readahead = 16320
+slab_alloc_arena = 0.1
 wal_dir_rescan_delay = 0.1
 ...
 
diff --git a/test/box/tarantool_scriptdir.cfg b/test/box/tarantool_scriptdir.cfg
new file mode 100644
index 0000000000..44405de86e
--- /dev/null
+++ b/test/box/tarantool_scriptdir.cfg
@@ -0,0 +1,49 @@
+#
+# Limit of memory used to store tuples to 100MB
+# (0.1 GB)
+# This effectively limits the memory, used by
+# Tarantool. However, index and connection memory
+# is stored outside the slab allocator, hence
+# the effective memory usage can be higher (sometimes
+# twice as high).
+#
+slab_alloc_arena = 0.1
+
+#
+# Store the pid in this file. Relative to
+# startup dir.
+#
+pid_file = "box.pid"
+
+#
+# Pipe the logs into the following process.
+#
+logger="cat - >> tarantool.log"
+
+#
+# Read only and read-write port.
+primary_port = 33013
+# Read-only port.
+secondary_port = 33014
+#
+# The port for administrative commands.
+#
+admin_port = 33015
+#
+# Each write ahead log contains this many rows.
+# When the limit is reached, Tarantool closes
+# the WAL and starts a new one.
+rows_per_wal = 50
+
+#
+# script directory (where init.lua is expected to be)
+script_dir = "script_dir"
+
+# 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"
+
diff --git a/test/box_memcached/off.result b/test/box_memcached/off.result
index 09a66bf775..b8237b3492 100644
--- a/test/box_memcached/off.result
+++ b/test/box_memcached/off.result
@@ -19,6 +19,7 @@ configuration:
   work_dir: (null)
   snap_dir: "."
   wal_dir: "."
+  script_dir: "."
   pid_file: "box.pid"
   logger: "cat - >> tarantool.log"
   logger_nonblock: "true"
-- 
GitLab