summary refs log blame commit diff stats
path: root/testbc.lua
blob: 7b4a6e22d97928cc598d42460d56c6954faed9a5 (plain) (tree)




























                                                                 
local cratera = require "cratera"

local function stream(filename, mode)
    local file, err = io.open(filename, mode)
    if not file then return nil, err end
    return function()
        local data, err = file:read(8192)
        if not data then file:close() return nil, err end
        return data
    end
end

-- load tests, streaming
local tests = assert(cratera.load(stream("tests.cratera", "rb")))

-- dump tests
local testsdump = string.dump(tests)

-- check if cratera can load them
assert(cratera.load(testsdump))()

-- output to a file
local file = io.open("testsdump.cratera", "wb")
assert(file:write(testsdump))
assert(file:flush())
assert(file:close())

-- load again, streaming, precompiled, and from a file
assert(cratera.load(stream("testsdump.cratera", "rb")))()