[tarantool-patches] [PATCH] lua: modify the error message in 'fio.pathjoin'

Roman Khabibov roman.habibov at tarantool.org
Sun Dec 2 03:27:29 MSK 2018


Display line number with error and fix the bug with bad argument number.

Closes #3580

Branch: https://github.com/tarantool/tarantool/tree/romanhabibov/gh-3580-err-msg-pathjoin
Issue: https://github.com/tarantool/tarantool/issues/3580
---
 src/lua/fio.lua       |  4 ++--
 test/app/fio.result   | 13 +++++++++++++
 test/app/fio.test.lua |  5 +++++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/lua/fio.lua b/src/lua/fio.lua
index 55faebdcb..13a4d36dc 100644
--- a/src/lua/fio.lua
+++ b/src/lua/fio.lua
@@ -213,7 +213,7 @@ fio.pathjoin = function(...)
     while i <= len do
         local sp = select(i, ...)
         if sp == nil then
-            error("Undefined path part "..i)
+            error("in function 'pathjoin' undefined path part "..i, 2)
         end
 
         sp = tostring(sp)
@@ -233,7 +233,7 @@ fio.pathjoin = function(...)
     while i <= len do
         local sp = select(i, ...)
         if sp == nil then
-            error("Undefined path part")
+            error("in function 'pathjoin' undefined path part "..i, 2)
         end
 
         sp = tostring(sp)
diff --git a/test/app/fio.result b/test/app/fio.result
index b7a1f65c6..fd3e289c4 100644
--- a/test/app/fio.result
+++ b/test/app/fio.result
@@ -55,6 +55,19 @@ fio.pathjoin('abc', 'awdeq///qweqwqwe///', "//asda//")
 ---
 - abc/awdeq/qweqwqwe/asda
 ...
+--gh-3580 Modify the error message in 'fio.pathjoin'.
+fio.pathjoin(nil)
+---
+- error: in function 'pathjoin' undefined path part 1
+...
+fio.pathjoin('abc', nil)
+---
+- error: in function 'pathjoin' undefined path part 2
+...
+fio.pathjoin('abc', 'cde', nil)
+---
+- error: in function 'pathjoin' undefined path part 3
+...
 -- basename
 st, err = pcall(fio.basename, nil)
 ---
diff --git a/test/app/fio.test.lua b/test/app/fio.test.lua
index 4f34fd11c..b6c79648c 100644
--- a/test/app/fio.test.lua
+++ b/test/app/fio.test.lua
@@ -18,6 +18,11 @@ fio.pathjoin('/', '/cde')
 fio.pathjoin('/a', '/')
 fio.pathjoin('abc', 'awdeq///qweqwqwe///', "//asda//")
 
+--gh-3580 Modify the error message in 'fio.pathjoin'.
+fio.pathjoin(nil)
+fio.pathjoin('abc', nil)
+fio.pathjoin('abc', 'cde', nil)
+
 -- basename
 st, err = pcall(fio.basename, nil)
 st
-- 
2.19.1





More information about the Tarantool-patches mailing list