summary refs log tree commit diff stats
path: root/testbc.lua
diff options
context:
space:
mode:
authorSoniEx2 <endermoneymod@gmail.com>2024-05-26 13:06:12 -0300
committerSoniEx2 <endermoneymod@gmail.com>2024-05-26 13:06:12 -0300
commit9dea1c26b487ae723d99ba1e5e5887b09aec87dd (patch)
tree28a9c9cdf6ec10144d17d0249c69dcd8363f88d5 /testbc.lua
parent477d6b5eb7db81a07516667a891d8b433e9af4dd (diff)
Fix Lua 5.1 support and add tests
Diffstat (limited to 'testbc.lua')
-rw-r--r--testbc.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/testbc.lua b/testbc.lua
new file mode 100644
index 0000000..7b4a6e2
--- /dev/null
+++ b/testbc.lua
@@ -0,0 +1,29 @@
+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")))()