diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2012-05-13 19:15:01 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2012-05-13 19:15:01 +0100 |
commit | 2b6aa416742956d2a7924682ceff3827c439adb0 (patch) | |
tree | 596d7e29d4d984342434d5e3ba287c8e449233f2 | |
parent | a32726cb09861d1853375172e1b02ab8133b74da (diff) | |
download | lace-2b6aa416742956d2a7924682ceff3827c439adb0.tar.gz |
Top level module tests. Can also act as an example.
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | test/test-lace.lua | 49 |
2 files changed, 50 insertions, 1 deletions
@@ -1,6 +1,6 @@ all: test -TEST_MODULES := lace.lex lace.compiler +TEST_MODULES := lace lace.lex lace.compiler LUA := LUA_PATH="$(shell pwd)/lib/?.lua;$(shell pwd)/extras/luacov/src/?.lua;$(HOME)/dev-bzr/luxio/?.lua;;" LUA_CPATH="$(HOME)/dev-bzr/luxio/?.so;;" lua5.1 diff --git a/test/test-lace.lua b/test/test-lace.lua new file mode 100644 index 0000000..d4f458f --- /dev/null +++ b/test/test-lace.lua @@ -0,0 +1,49 @@ +-- test/test-lace.lua +-- +-- Lua Access Control Engine -- Tests for the core Lace module +-- +-- Copyright 2012 Daniel Silverstone <dsilvers@digital-scurf.org> +-- +-- For Licence terms, see COPYING +-- + +-- Step one, start coverage + +local luacov = require 'luacov' + +local lace = require 'lace' +local lex = require 'lace.lex' +local compiler = require 'lace.compiler' + +local testnames = {} + +local function add_test(suite, name, value) + rawset(suite, name, value) + testnames[#testnames+1] = name +end + +local suite = setmetatable({}, {__newindex = add_test}) + +function suite.lex_passed() + assert(lace.lex == lex, "Lace's lex entry is not lace.lex") +end + +function suite.compiler_passed() + assert(lace.compiler == compiler, "Lace's compiler entry is not lace.compiler") +end + +local count_ok = 0 +for _, testname in ipairs(testnames) do + print("Run: " .. testname) + local ok, err = xpcall(suite[testname], debug.traceback) + if not ok then + print(err) + print() + else + count_ok = count_ok + 1 + end +end + +print("Lace: " .. tostring(count_ok) .. "/" .. tostring(#testnames) .. " OK") + +os.exit(count_ok == #testnames and 0 or 1) |