
* 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
42 lines
1.5 KiB
Plaintext
42 lines
1.5 KiB
Plaintext
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.
|
|
|
|
|