diff --git a/tests/build_luajit.sh b/tests/build_luajit.sh new file mode 100755 index 00000000..fb2bd424 --- /dev/null +++ b/tests/build_luajit.sh @@ -0,0 +1,33 @@ +#!/bin/bash +#Build the various intresting flavors of LuaJIT + +TEST_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +ljsrc=${TEST_DIR}/../src +ljbins=${ljbins:=${TEST_DIR}/builds} + +mkdir -p ${ljbins} + +#Unmodified build with 32 bit sized gc object pointers. Object allocataion limited to the lower 4gb virtual address space +make -C ${ljsrc} clean +make -C ${ljsrc} -j +cp ${ljsrc}/luajit ${ljbins}/luajit + +#Build with JIT removed +make -C ${ljsrc} clean +make -C ${ljsrc} -j XCFLAGS=-DLUAJIT_DISABLE_JIT +cp ${ljsrc}/luajit ${ljbins}/luajit_nojit + +#GC64 64 bit sized gc object pointer +make -C ${ljsrc} clean +make -C ${ljsrc} -j XCFLAGS=-DLUAJIT_ENABLE_GC64 +cp ${ljsrc}/luajit ${ljbins}/luajit_gc64 + +# Build with dual number mode enabled +make -C ${ljsrc} clean +make -C ${ljsrc} -j XCFLAGS=-DLUAJIT_NUMMODE=2 +cp ${ljsrc}/luajit ${ljbins}/luajit_dualnum + +#32 bit build +#make -C ${ljsrc} clean +#make -C ${ljsrc} -j CC="gcc -m32" +#cp ${ljsrc}/luajit ${ljbins}/luajit32 diff --git a/tests/runtests.sh b/tests/runtests.sh old mode 100644 new mode 100755 index cf2243bb..303c9ea8 --- a/tests/runtests.sh +++ b/tests/runtests.sh @@ -1,4 +1,28 @@ #!/bin/bash -cd "${0%/*}" -export LUA_PATH="$PWD/?.lua;$PWD/../src/?.lua;$LUA_PATH" -../src/luajit ./test.lua \ No newline at end of file +TEST_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +export LUA_PATH="${TEST_DIR}/?.lua;${TEST_DIR}/../src/?.lua;$LUA_PATH" + +args=${TEST_DIR}/runtests.lua + +if [ -d "${TEST_DIR}/builds" ]; then + echo $'\nTesting Normal 64 bit:' + (cd "${TEST_DIR}" && ${TEST_DIR}/builds/luajit ${args}) + + if [ -f "${TEST_DIR}/builds/luajit_gc64" ]; then + echo $'\nTesting GC64 build:' + (cd "${TEST_DIR}" && ${TEST_DIR}/builds/luajit_gc64 ${args}) + fi + + if [ -f "${TEST_DIR}/builds/luajit_dualnum" ]; then + echo $'\nTesting with Dual Number:' + (cd "${TEST_DIR}" && ${TEST_DIR}/builds/luajit_dualnum ${args}) + fi + + if [ -f "${TEST_DIR}/builds/luajit32" ]; then + echo $'\nTesting 32 bit build:' + (cd "${TEST_DIR}" && ${TEST_DIR}/builds/luajit32 ${args}) + fi +else + echo $'Testing luajit built in src\n' + (cd "${TEST_DIR}" && ${TEST_DIR}/../src/luajit ${args}) +fi