From c7fbb8e441b6a62e0d6d016add8ed6b44d90d981 Mon Sep 17 00:00:00 2001 From: Mark Pulford Date: Wed, 4 Jan 2012 07:57:21 +1030 Subject: Update bench.lua to support different JSON modules - Select via JSON_MODULE environment variable (default "cjson") - Custom runtime configuration can be stored in bench-MODNAME.lua - Add run_script() to cjson-misc and update lua2cjson.lua --- tests/lua2json.lua | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) (limited to 'tests/lua2json.lua') diff --git a/tests/lua2json.lua b/tests/lua2json.lua index ebe7380..2a9ddf9 100755 --- a/tests/lua2json.lua +++ b/tests/lua2json.lua @@ -9,34 +9,12 @@ local json = require "cjson" local misc = require "cjson-misc" -function get_lua_table(s) - local env = {} - local func +local env = { + json = { null = json.null }, + null = json.null +} - env.json = {} - env.json.null = json.null - env.null = json.null - s = "data = " .. s - - -- Use setfenv() if it exists, otherwise assume Lua 5.2 load() exists - if _G.setfenv then - func = loadstring(s) - if func then - setfenv(func, env) - end - else - func = load(s, nil, nil, env) - end - - if func == nil then - error("Invalid syntax. Failed to parse Lua table.") - end - func() - - return env.data -end - -local t = get_lua_table(misc.file_load(arg[1])) -print(json.encode(t)) +local t = misc.run_script("data = " .. misc.file_load(arg[1]), env) +print(json.encode(t.data)) -- vi:ai et sw=4 ts=4: -- cgit v1.2.3-55-g6feb