You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ravi/ravi-tests
Dibyendu Majumdar ef66365b5d
issue #148 fix bad code gen for OP_RAVI_SELF_S
6 years ago
..
listings add bytecode listings 9 years ago
README.rst array types cannot be used as metatables 9 years ago
basics.lua in arithmetic operations use constants directly when possible 9 years ago
bitbench.lua issue #133 add LuaJIT's bit library so that we can support dynasm 7 years ago
bittest.lua issue #133 add LuaJIT's bit library so that we can support dynasm 7 years ago
bitwise_tests.lua bitwise ops wip 9 years ago
bug.lua remove experimental NAN TAGGING solution (as it is not helpful) and fix bugs in SETLIST for numeric arrays (missing type conversion) 9 years ago
debugger_test.lua issue #82 respect __name meta method in ravitype() for integer[] and number[] types 8 years ago
dmrc_getsymbols.lua issue #126 add a couple of simple hello world examples 7 years ago
dmrc_test.lua issue #126 add a couple of simple hello world examples 7 years ago
fannkuchen.lua array types cannot be used as metatables 9 years ago
fannkuchen.ravi refactoring 9 years ago
fornum_test1.lua array types cannot be used as metatables 9 years ago
fornum_test2.lua array types cannot be used as metatables 9 years ago
fornum_test2.ravi reformat code 9 years ago
fornum_test3.lua array types cannot be used as metatables 9 years ago
gaussian2.lua issue #76 type assertions 8 years ago
mandel.lua validate the mandel test 9 years ago
mandel.ravi change syntax from int to integer, and double to number 9 years ago
mandel1.lua array types cannot be used as metatables 9 years ago
mandel1.ravi array types cannot be used as metatables 9 years ago
matmul1.lua doc updates 9 years ago
matmul1.ravi issue #109 work on simple bytecode profiler 8 years ago
matmul1_ravi.lua issue #146 Currently Ravi's code generator assumes that #operator returns an integer value, but if user has set a metamethod for __len the operator# might return a non-integer value. This issue came to light when testing lpeg, which redefines #operator to return userdata objects. We now try to only expect integer values when # is used in fornum loops, or applied to table or array. Additionally unless the target is an array, we also emit a TOINT opcode to validate at runtime that the value in integer type 6 years ago
matmul2.lua array types cannot be used as metatables 9 years ago
md5test.lua issue #133 add LuaJIT's bit library so that we can support dynasm 7 years ago
nsievebits.lua issue #133 add LuaJIT's bit library so that we can support dynasm 7 years ago
pcall.lua investigate crash on windows 9 years ago
pisum.lua some more tests 9 years ago
pisum.ravi change syntax from int to integer, and double to number 9 years ago
ravi_errors.ravi issue #136 more type checking 7 years ago
ravi_testasmvm.lua issue #135 start adding tests 6 years ago
ravi_tests1.ravi issue #148 fix bad code gen for OP_RAVI_SELF_S 6 years ago
ravi_tests2.ravi issue #136 wip 7 years ago
ravi_tests3.ravi issue #128 added generic forprep/forloop 7 years ago
run_tests.sh use strncmp instead of memcmp to avoid ASAN complaining 8 years ago
tableaccess.lua simple benchmark for table key access 8 years ago

README.rst

This folder contains various performance and unit tests.


Language tests
--------------
* basics.lua - some simple tests
* ravi_tests1.ravi - contains some basic tests
* ravi_errors.ravi - contains tests for error conditions
* bitwise_tests.lua - modified Lua 5.3 tests to exercise JIT on bitwise operations

Performance tests
-----------------
Following are simple loop tests:

* fornum_test1.lua
* fornum_test2.lua
* fornum_test2.ravi - with optional types
* fornum_test3.lua

Matrix multiplication test:

* matmul1.lua - matrix multiplication (Lua compatible)
* matmul1.ravi - matrix multiplication (ravi version with static typing)

Following performance tests were obtained from the `The Computer Programming Language Benchmarks Game <http://benchmarksgame.alioth.debian.org/>`_. Original author is `Mike Pall <http://luajit.org/>`_.

* fannkuchen.lua
* fannkuchen.ravi - with optional types

* mandel1.ravi - modified so that it can be JIT compiled
* mandel1.lua - can be JIT compiled but also compatible with Lua

See ``run_tests.sh`` for how to run these tests.