[Tarantool-patches] [PATCH v2 luajit 26/26] test: enable <catch_cpp.lua> LuaJIT test

Sergey Kaplun skaplun at tarantool.org
Mon Jan 29 13:45:26 MSK 2024


This patch moves the <catch_cpp.lua> test from the <sysdep> to <lang>
directory, includes it in <index>, and names subtests.

Resolves of tarantool/tarantool#7834
Part of tarantool/tarantool#9398
---
 .../{sysdep => lang}/catch_cpp.lua            | 36 ++++++++++---------
 test/LuaJIT-tests/lang/index                  |  1 +
 2 files changed, 20 insertions(+), 17 deletions(-)
 rename test/LuaJIT-tests/{sysdep => lang}/catch_cpp.lua (75%)

diff --git a/test/LuaJIT-tests/sysdep/catch_cpp.lua b/test/LuaJIT-tests/lang/catch_cpp.lua
similarity index 75%
rename from test/LuaJIT-tests/sysdep/catch_cpp.lua
rename to test/LuaJIT-tests/lang/catch_cpp.lua
index b2251009..6c52c78c 100644
--- a/test/LuaJIT-tests/sysdep/catch_cpp.lua
+++ b/test/LuaJIT-tests/lang/catch_cpp.lua
@@ -1,30 +1,30 @@
+local cp = require("libcpptest")
 
-local cp = require("cpptest")
+local unwind
 
-do
+do --- catch, no error
   local a, b = pcall(cp.catch, function() return "x" end)
   assert(a == true and b == "x")
 end
 
-do
+do --- pcall throw
   local a, b = pcall(function() cp.throw("foo") end)
   assert(a == false and b == "C++ exception")
 end
 
-local unwind
-do
+do --- catch throw
   local a, b = pcall(cp.catch, function() cp.throw("foo") end)
   unwind = a
   assert((a == false and b == "C++ exception") or (a == true and b == "foo"))
 end
 
-do
+do --- alloc, no error
   local st = cp.alloc(function() return cp.isalloc() end)
   assert(st == true)
   assert(cp.isalloc() == false)
 end
 
-do
+do --- throw in alloc
   local a, b = pcall(cp.alloc, function()
     assert(cp.isalloc() == true)
     return "foo", cp.throw
@@ -33,21 +33,23 @@ do
   assert(cp.isalloc() == false)
 end
 
-if unwind then
-  local a, b = pcall(cp.alloc, function()
-    assert(cp.isalloc() == true)
-    return "foo", error
-  end)
-  assert(a == false and b == "foo")
-  assert(cp.isalloc() == false)
+do --- error in alloc
+  if unwind then
+    local a, b = pcall(cp.alloc, function()
+      assert(cp.isalloc() == true)
+      return "foo", error
+    end)
+    assert(a == false and b == "foo")
+    assert(cp.isalloc() == false)
+  end
 end
 
-do
+do --- usereg nop
   local a,b,c,d,e,f = cp.usereg(100, 50, function() end, false)
   assert(a==164 and b==312 and c==428 and d==3696 and e==404 and f==404)
 end
 
-do
+do --- usereg error
   local function test()
     cp.usereg(100, 40, error, "foo")
   end
@@ -55,7 +57,7 @@ do
   assert(a==164 and b==312 and c==428 and d==3696 and e==404 and f==404)
 end
 
-do
+do --- usereg trace with self table lookup
   local t = {};
   t.t = t;
   local function foo()
diff --git a/test/LuaJIT-tests/lang/index b/test/LuaJIT-tests/lang/index
index 87b0c5a0..41f7e7db 100644
--- a/test/LuaJIT-tests/lang/index
+++ b/test/LuaJIT-tests/lang/index
@@ -1,6 +1,7 @@
 andor.lua
 api_call.lua
 assignment.lua
+catch_cpp.lua
 catch_wrap.lua
 compare.lua
 compare_nan.lua
-- 
2.43.0



More information about the Tarantool-patches mailing list