summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJosh Haberman <jhaberman@gmail.com>2018-11-03 18:18:47 -0700
committerJosh Haberman <jhaberman@gmail.com>2018-11-03 18:18:47 -0700
commita7ebe54eb1cc09cc50cf97af8436835ead4cbbee (patch)
treea4f1a3333736e3d4751d02ba8fefb709964d622f /tools
parent2655ed9cf5e448e6ce7195e9afb9361c0a901df0 (diff)
Conformance tests work under Bazel.
Diffstat (limited to 'tools')
-rw-r--r--tools/upbc.lua22
1 files changed, 17 insertions, 5 deletions
diff --git a/tools/upbc.lua b/tools/upbc.lua
index 8ac4f73..adea373 100644
--- a/tools/upbc.lua
+++ b/tools/upbc.lua
@@ -13,11 +13,17 @@ local make_c_api = require "make_c_api"
local upb = require "upb"
local generate_upbdefs = false
+local outdir = "."
-for _, argument in ipairs(arg) do
+i = 1
+while i <= #arg do
+ argument = arg[i]
if argument.sub(argument, 1, 2) == "--" then
if argument == "--generate-upbdefs" then
generate_upbdefs = true
+ elseif argument == "--outdir" then
+ i = i + 1
+ outdir = arg[i]
else
print("Unknown flag: " .. argument)
return 1
@@ -29,6 +35,7 @@ for _, argument in ipairs(arg) do
end
src = argument
end
+ i = i + 1
end
if not src then
@@ -40,6 +47,11 @@ function strip_proto(filename)
return string.gsub(filename, '%.proto$','')
end
+local function open(filename)
+ local full_name = outdir .. "/" .. filename
+ return assert(io.open(full_name, "w"), "couldn't open " .. full_name)
+end
+
-- Open input/output files.
local f = assert(io.open(src, "r"), "couldn't open input file " .. src)
local descriptor = f:read("*all")
@@ -67,8 +79,8 @@ for _, file in ipairs(files) do
if generate_upbdefs then
-- Legacy generated defs.
- local hfile = assert(io.open(hfilename, "w"), "couldn't open " .. hfilename)
- local cfile = assert(io.open(cfilename, "w"), "couldn't open " .. cfilename)
+ local hfile = open(hfilename)
+ local cfile = open(cfilename)
local happend = dump_cinit.file_appender(hfile)
local cappend = dump_cinit.file_appender(cfile)
@@ -90,8 +102,8 @@ for _, file in ipairs(files) do
print(string.format(" cfilename=%s", cfilename))
end
- local hfile = assert(io.open(hfilename, "w"), "couldn't open " .. hfilename)
- local cfile = assert(io.open(cfilename, "w"), "couldn't open " .. cfilename)
+ local hfile = open(hfilename)
+ local cfile = open(cfilename)
local happend = dump_cinit.file_appender(hfile)
local cappend = dump_cinit.file_appender(cfile)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback