From: Patrick Donnelly Date: Tue, 13 Oct 2020 16:47:32 +0000 (-0700) Subject: rgw: simplify lua debug stack check X-Git-Tag: v16.1.0~733^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9cb201009d77966d73ffdecb50d323e77e3c2d42;p=ceph.git rgw: simplify lua debug stack check The function should also return 0, i.e. no result. Signed-off-by: Patrick Donnelly --- diff --git a/src/rgw/rgw_lua_utils.cc b/src/rgw/rgw_lua_utils.cc index abb355592d4..45ef0e8e5e2 100644 --- a/src/rgw/rgw_lua_utils.cc +++ b/src/rgw/rgw_lua_utils.cc @@ -24,21 +24,10 @@ int RGWDebugLog(lua_State* L) { auto cct = reinterpret_cast(lua_touserdata(L, lua_upvalueindex(1))); - constexpr auto NUM_RETURN = 0; - - if (!lua_isstring(L, -1)) { - if (cct) { - ldout(cct, 1) << "Lua ERROR: missing/invalid 'message' parameter when calling Log" << dendl; - } - return NUM_RETURN; - } - const char* message = lua_tostring(L, -1); - if (cct) { - ldout(cct, 20) << "Lua INFO: " << message << dendl; - } - - return NUM_RETURN; -}; + auto message = luaL_checkstring(L, 1); + ldout(cct, 20) << "Lua INFO: " << message << dendl; + return 0; +} void create_debug_action(lua_State* L, CephContext* cct) { lua_pushlightuserdata(L, cct); diff --git a/src/test/rgw/test_rgw_lua.cc b/src/test/rgw/test_rgw_lua.cc index 632dda114cf..2df08bd3c28 100644 --- a/src/test/rgw/test_rgw_lua.cc +++ b/src/test/rgw/test_rgw_lua.cc @@ -111,6 +111,30 @@ TEST(TestRGWLua, Hello) ASSERT_EQ(rc, 0); } +TEST(TestRGWLua, RGWDebugLogNumber) +{ + const std::string script = R"( + RGWDebugLog(1234567890) + )"; + + DEFINE_REQ_STATE; + + const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", script); + ASSERT_EQ(rc, 0); +} + +TEST(TestRGWLua, RGWDebugNil) +{ + const std::string script = R"( + RGWDebugLog(nil) + )"; + + DEFINE_REQ_STATE; + + const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", script); + ASSERT_EQ(rc, -1); +} + TEST(TestRGWLua, URI) { const std::string script = R"(