diff --git a/test/box/configuration.result b/test/box/configuration.result
index bba2c39cd4cbe645e24f5e1f8c177732b669ca2c..24600a3567f9c111a136492ca4eeb9fd422ea4dc 100644
--- a/test/box/configuration.result
+++ b/test/box/configuration.result
@@ -38,3 +38,15 @@ print_config()
   too_long_threshold: 0.5
   wal_dir_rescan_delay: 0.1
 ...
+string.gmatch(package.path, '([^;]*)')()
+---
+- script_dir/?.lua
+...
+string.gmatch(package.cpath, '([^;]*)')()
+---
+- script_dir/?.so
+...
+mod.test(10, 15)
+---
+- 25
+...
diff --git a/test/box/configuration.test.py b/test/box/configuration.test.py
index c7335d399700e974ff46f42707e35cb09b23e329..d66bbea7463674a8cd825dafa9a711d6ac6125a7 100644
--- a/test/box/configuration.test.py
+++ b/test/box/configuration.test.py
@@ -24,6 +24,15 @@ server.stop()
 server.deploy("box/tarantool_scriptdir.cfg")
 admin("print_config()")
 
+# Test script_dir + require
+server.stop()
+shutil.copy("box/require_init.lua", os.path.join(script_dir_path, "init.lua"))
+shutil.copy("box/require_mod.lua", os.path.join(script_dir_path, "mod.lua"))
+server.deploy("box/tarantool_scriptdir.cfg")
+admin("string.gmatch(package.path, '([^;]*)')()")
+admin("string.gmatch(package.cpath, '([^;]*)')()")
+admin("mod.test(10, 15)")
+
 # restore default server
 server.stop()
 shutil.rmtree(script_dir_path, True)
diff --git a/test/box/require_init.lua b/test/box/require_init.lua
new file mode 100644
index 0000000000000000000000000000000000000000..51e05ffcb382ea824a019fbd36ff6766f3d5ae08
--- /dev/null
+++ b/test/box/require_init.lua
@@ -0,0 +1 @@
+mod = require("mod")
diff --git a/test/box/require_mod.lua b/test/box/require_mod.lua
new file mode 100644
index 0000000000000000000000000000000000000000..d708a86089817dd5db59909bb936e43dfbbf4edc
--- /dev/null
+++ b/test/box/require_mod.lua
@@ -0,0 +1,7 @@
+exports = {}
+
+function exports.test(a, b)
+  return a+b
+end
+
+return exports