aboutsummaryrefslogtreecommitdiff
path: root/test/unit/preprocess.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-01-03 08:57:43 +0300
committerZyX <kp-pav@yandex.ru>2017-01-03 22:54:54 +0300
commit0d7b779cab198c89b70bf9d1e6d42cffc3f28f50 (patch)
tree45324590a09ee5fc289b12195eed9d614975a6df /test/unit/preprocess.lua
parent410d18ef5c24a325f4d63c9b01991015199194c2 (diff)
downloadrneovim-0d7b779cab198c89b70bf9d1e6d42cffc3f28f50.tar.gz
rneovim-0d7b779cab198c89b70bf9d1e6d42cffc3f28f50.tar.bz2
rneovim-0d7b779cab198c89b70bf9d1e6d42cffc3f28f50.zip
unittest: Record previous defines in another place
Previous commit made preprocess.lua know how its output will be used. This moves state to cimport, making only it know which is cleaner.
Diffstat (limited to 'test/unit/preprocess.lua')
-rw-r--r--test/unit/preprocess.lua11
1 files changed, 5 insertions, 6 deletions
diff --git a/test/unit/preprocess.lua b/test/unit/preprocess.lua
index 99537cd66a..062432323f 100644
--- a/test/unit/preprocess.lua
+++ b/test/unit/preprocess.lua
@@ -115,7 +115,6 @@ local Gcc = {
'-D "_Nonnull="',
'-U__BLOCKS__',
},
- added_header_defines = '',
}
function Gcc:new(obj)
@@ -149,12 +148,12 @@ end
-- returns a stream representing a preprocessed form of the passed-in headers.
-- Don't forget to close the stream by calling the close() method on it.
-function Gcc:preprocess(...)
+function Gcc:preprocess(previous_defines, ...)
-- create pseudo-header
local pseudoheader = headerize({...}, false)
local pseudoheader_fname = 'tmp_pseudoheader.h'
local pseudoheader_file = io.open(pseudoheader_fname, 'w')
- pseudoheader_file:write(self.added_header_defines)
+ pseudoheader_file:write(previous_defines)
pseudoheader_file:write("\n")
pseudoheader_file:write(pseudoheader)
pseudoheader_file:flush()
@@ -171,7 +170,7 @@ function Gcc:preprocess(...)
tostring(defines) ..
" -std=c99 -dM -E " .. shell_quote(pseudoheader_fname))
local def_stream = io.popen(def_cmd)
- self.added_header_defines = def_stream:read('*a')
+ local defines = def_stream:read('*a')
def_stream:close()
-- lfs = require("lfs")
-- print("CWD: #{lfs.currentdir!}")
@@ -179,10 +178,10 @@ function Gcc:preprocess(...)
-- io.stderr\write("CWD: #{lfs.currentdir!}\n")
-- io.stderr\write("CMD: #{cmd}\n")
local stream = io.popen(cmd)
- local ret = stream:read('*a')
+ local declarations = stream:read('*a')
stream:close()
os.remove(pseudoheader_fname)
- return ret
+ return declarations, defines
end
local Clang = Gcc:new()