summaryrefslogtreecommitdiff
path: root/bindings/lua
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/lua')
-rw-r--r--bindings/lua/lunit/console.lua (renamed from bindings/lua/lunitx/lunit/console.lua)0
-rw-r--r--bindings/lua/lunit/lunit.lua (renamed from bindings/lua/lunitx/lunit.lua)2
-rw-r--r--bindings/lua/lunitx/atexit.lua32
-rw-r--r--bindings/lua/lunitx/lunitx.lua21
-rw-r--r--bindings/lua/test.lua2
-rw-r--r--bindings/lua/upb.c19
6 files changed, 17 insertions, 59 deletions
diff --git a/bindings/lua/lunitx/lunit/console.lua b/bindings/lua/lunit/console.lua
index 0ff22a4..0ff22a4 100644
--- a/bindings/lua/lunitx/lunit/console.lua
+++ b/bindings/lua/lunit/console.lua
diff --git a/bindings/lua/lunitx/lunit.lua b/bindings/lua/lunit/lunit.lua
index 8fa87de..80f43c1 100644
--- a/bindings/lua/lunitx/lunit.lua
+++ b/bindings/lua/lunit/lunit.lua
@@ -529,7 +529,7 @@ function lunit.runtest(tcname, testname)
orig_assert( is_string(testname) )
if (not getrunner()) then
- loadrunner("lunit.console")
+ loadrunner("console")
end
local function callit(context, func)
diff --git a/bindings/lua/lunitx/atexit.lua b/bindings/lua/lunitx/atexit.lua
deleted file mode 100644
index c3cdddc..0000000
--- a/bindings/lua/lunitx/atexit.lua
+++ /dev/null
@@ -1,32 +0,0 @@
-
-local actions = {}
-
-local atexit
-
-if _VERSION >= 'Lua 5.2' then
-
- atexit = function (fn)
- actions[#actions+1] = setmetatable({}, { __gc = fn })
- end
-
-else
-
- local newproxy = newproxy
- local debug = debug
- local assert = assert
- local setmetatable = setmetatable
-
- local function gc(fn)
- local p = assert(newproxy())
- assert(debug.setmetatable(p, { __gc = fn }))
- return p
- end
-
- atexit = function (fn)
- actions[#actions+1] = gc(fn)
- end
-
-end
-
-return atexit
-
diff --git a/bindings/lua/lunitx/lunitx.lua b/bindings/lua/lunitx/lunitx.lua
deleted file mode 100644
index 7656e6a..0000000
--- a/bindings/lua/lunitx/lunitx.lua
+++ /dev/null
@@ -1,21 +0,0 @@
-local atexit = require "atexit"
-local lunit = require "lunit"
-
---for k,v in pairs(debug.getinfo(1,"S")) do print(k,v) end
--- autonameing
--- module("bcrc-test", lunit.testcase, package.seeall)
-
-atexit(function()
- local _, emsg = xpcall(function()
- lunit.main(arg)
- end, debug.traceback)
- if emsg then
- print(emsg)
- os.exit(1)
- end
- if lunit.stats.failed > 0 or lunit.stats.errors > 0 then
- os.exit(1)
- end
-end)
-
-return lunit
diff --git a/bindings/lua/test.lua b/bindings/lua/test.lua
index fc4db70..b19da53 100644
--- a/bindings/lua/test.lua
+++ b/bindings/lua/test.lua
@@ -1,6 +1,6 @@
local upb = require "upb"
-local lunit = require "lunitx"
+local lunit = require "lunit"
if _VERSION >= 'Lua 5.2' then
_ENV = lunit.module("testupb", "seeall")
diff --git a/bindings/lua/upb.c b/bindings/lua/upb.c
index 7c41d98..9eb46f3 100644
--- a/bindings/lua/upb.c
+++ b/bindings/lua/upb.c
@@ -122,11 +122,8 @@ static void lupb_setdefault(lua_State *L, int narg, upb_fielddef *f) {
void lupb_checkstatus(lua_State *L, upb_status *s) {
if (!upb_ok(s)) {
- lua_pushstring(L, upb_status_getstr(s));
- upb_status_uninit(s);
+ lua_pushstring(L, upb_status_errmsg(s));
lua_error(L);
- } else {
- upb_status_uninit(s);
}
}
@@ -576,6 +573,12 @@ static int lupb_fielddef_type(lua_State *L) {
return 1;
}
+static int lupb_fielddef_index(lua_State *L) {
+ const upb_fielddef *f = lupb_fielddef_check(L, 1);
+ lua_pushnumber(L, upb_fielddef_index(f));
+ return 1;
+}
+
static int lupb_fielddef_intfmt(lua_State *L) {
const upb_fielddef *f = lupb_fielddef_check(L, 1);
lua_pushnumber(L, upb_fielddef_intfmt(f));
@@ -602,6 +605,7 @@ static const struct luaL_Reg lupb_fielddef_m[] = {
{"default", lupb_fielddef_default},
{"getsel", lupb_fielddef_getsel},
{"has_subdef", lupb_fielddef_hassubdef},
+ {"index", lupb_fielddef_index},
{"intfmt", lupb_fielddef_intfmt},
{"istagdelim", lupb_fielddef_istagdelim},
{"label", lupb_fielddef_label},
@@ -718,6 +722,12 @@ static int lupb_msgdef_selectorcount(lua_State *L) {
return 1;
}
+static int lupb_msgdef_submsgfieldcount(lua_State *L) {
+ const upb_msgdef *m = lupb_msgdef_check(L, 1);
+ lua_pushinteger(L, m->submsg_field_count);
+ return 1;
+}
+
static int lupb_msgdef_field(lua_State *L) {
const upb_msgdef *m = lupb_msgdef_check(L, 1);
int type = lua_type(L, 2);
@@ -766,6 +776,7 @@ static const struct luaL_Reg lupb_msgdef_m[] = {
// Internal-only.
{"_selector_count", lupb_msgdef_selectorcount},
+ {"_submsg_field_count", lupb_msgdef_submsgfieldcount},
{NULL, NULL}
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback