diff options
author | Elie Roux <elie.roux@telecom-bretagne.eu> | 2013-05-09 06:42:47 -0700 |
---|---|---|
committer | Elie Roux <elie.roux@telecom-bretagne.eu> | 2013-05-09 06:42:47 -0700 |
commit | 3ef211e80fa60887838bbc16e340733160c20ade (patch) | |
tree | 15e2986c12cf8a1e0cf8f5fd42f715dfa6077d1f /test-lualibs.lua | |
parent | c2e7deb7254aae721ebefdc6c24ddb3e9913e537 (diff) | |
parent | fdf45e87dea227d920698370657e62fdf3208579 (diff) | |
download | lualibs-3ef211e80fa60887838bbc16e340733160c20ade.tar.gz |
Merge pull request #7 from phi-gamma/master
file integrity test
Diffstat (limited to 'test-lualibs.lua')
-rw-r--r-- | test-lualibs.lua | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/test-lualibs.lua b/test-lualibs.lua new file mode 100644 index 0000000..b74fde1 --- /dev/null +++ b/test-lualibs.lua @@ -0,0 +1,81 @@ +#!/usr/bin/env texlua + +local luafiles = { + "lualibs-boolean.lua", "lualibs-compat.lua", + "lualibs-dir.lua", "lualibs-file.lua", + "lualibs-function.lua", "lualibs-io.lua", + "lualibs-lpeg.lua", "lualibs-lua.lua", + "lualibs-math.lua", "lualibs-md5.lua", + "lualibs-number.lua", "lualibs-os.lua", + "lualibs-package.lua", "lualibs-set.lua", + "lualibs-string.lua", "lualibs-table.lua", + "lualibs-trac-inf.lua", "lualibs-unicode.lua", + "lualibs-url.lua", "lualibs-util-deb.lua", + "lualibs-util-dim.lua", "lualibs-util-env.lua", + "lualibs-util-jsn.lua", "lualibs-util-lua.lua", + "lualibs-util-prs.lua", "lualibs-util-sta.lua", + "lualibs-util-sto.lua", "lualibs-util-str.lua", + "lualibs-util-tab.lua", "lualibs-util-fmt.lua", + "lualibs-util-tpl.lua", "lualibs.lua", + "lualibs-basic.lua", "lualibs-basic-merged.lua", + "lualibs-extended.lua", "lualibs-extended-merged.lua", +} + +local test_cmd = "texluac -p %s &> /dev/null" + +local check_wellformed = function (file) + io.write"testing " + io.write(file) + io.write" ... " + local exit_status = os.execute(string.format(test_cmd, file)) + if exit_status == 0 then + io.write"SUCCESS!\n" + return true + end + io.write"FAIL :-/\n" + return false +end + +local check_files check_files = function (lst, n) + if n == nil then + return check_files(lst, 1) + end + local this = lst[n] + if this then + if check_wellformed(this) then + return check_files(lst, n+1) + else + return false + end + end + return true +end + +config = { lualibs = { force_reload = true } } + +local load_all = function ( ) + + io.write"testing merged packages ... " + config.lualibs.prefer_merged = true + if not pcall(function () dofile"lualibs.lua"end) then + io.write"FAIL :-/\n" + end + io.write"SUCCESS\n" + + io.write"testing files ... " + config.lualibs.prefer_merged = false + if not pcall(function () dofile"lualibs.lua"end) then + io.write"FAIL :-/\n" + end + io.write"SUCCESS\n" + return true +end + +local main = function ( ) + local retval = 0 + retval = check_files(luafiles) and retval or 1 + retval = load_all() and retval or 1 + os.exit(retval) +end + +return main() |