mirror of https://github.com/tidwall/tile38.git
b55300b729
* Start on lua scripting * Implement evalsha, script load, script exists, and script flush * Type conversions from lua to resp/json. Refactor to make luastate and luascripts persistent in the controller. * Change controller.command and all underlying commands to return resp.Value. Serialize only during the ouput. * First stab at tile38 call from lua * Change tile38 into tile38.call in Lua * Property return errors from scripts * Minor refactoring. No locking on script run * Cleanup/refactoring * Create a pool of 5 lua states, allow for more as needed. Refactor. * Use safe map for scripts. Add a limit for max number of lua states. Refactor. * Refactor * Refactor script commands into atomic, read-only, and non-atomic classes. Proper locking for all three classes. Add tests for scripts * More tests for scripts * Properly escape newlines in lua-produced errors * Better test for readonly failure * Correctly convert ok/err messages between lua and resp. Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua. * Add pcall test. Change writeErr to work with string argument * Make sure eval/evalsha never attempt to write AOF * Add eval-set and eval-get to benchmarks * Fix eval benchmark tests, add more * Improve benchmarks * Optimizations and refactoring. * Add lua memtest * Typo * Add dependency * golint fixes * gofmt fixes * Add scripting commands to the core/commands.json * Use ARGV for args inside lua |
||
---|---|---|
.. | ||
README | ||
all.lua | ||
api.lua | ||
attrib.lua | ||
big.lua | ||
calls.lua | ||
checktable.lua | ||
closure.lua | ||
code.lua | ||
constructs.lua | ||
db.lua | ||
errors.lua | ||
events.lua | ||
files.lua | ||
gc.lua | ||
literals.lua | ||
locals.lua | ||
main.lua | ||
math.lua | ||
nextvar.lua | ||
pm.lua | ||
sort.lua | ||
strings.lua | ||
vararg.lua | ||
verybig.lua |
README
This tarball contains the official test scripts for Lua 5.1. Unlike Lua itself, these tests do not aim portability, small footprint, or easy of use. (Their main goal is to try to crash Lua.) They are not intended for general use. You are wellcome to use them, but expect to have to "dirt your hands". The tarball should expand in the following contents: - several .lua scripts with the tests - a main "all.lua" Lua script that invokes all the other scripts - a subdirectory "libs" with an empty subdirectory "libs/P1", to be used by the scripts - a subdirectory "etc" with some extra files To run the tests, do as follows: - go to the test directory - set LUA_PATH to "?;./?.lua" (or, better yet, set LUA_PATH to "./?.lua;;" and LUA_INIT to "package.path = '?;'..package.path") - run "lua all.lua" -------------------------------------------- Internal tests -------------------------------------------- Some tests need a special library, "testC", that gives access to several internal structures in Lua. This library is only available when Lua is compiled in debug mode. The scripts automatically detect its absence and skip those tests. If you want to run these tests, move etc/ltests.c and etc/ltests.h to the directory with the source Lua files, and recompile Lua with the option -DLUA_USER_H='"ltests.h"' (or its equivalent to define LUA_USER_H as the string "ltests.h", including the quotes). This option not only adds the testC library, but it adds several other internal tests as well. After the recompilation, run the tests as before.