From 1e9a1bb8cf250074f991e907fbf95b7e0b891322 Mon Sep 17 00:00:00 2001 From: fsfod Date: Tue, 19 Sep 2017 18:39:14 +0100 Subject: [PATCH] Improve the runtests shell script and add support with testing with different builds of LuaJIT --- tests/build_luajit.sh | 33 +++++++++++++++++++++++++++++++++ tests/runtests.sh | 30 +++++++++++++++++++++++++++--- 2 files changed, 60 insertions(+), 3 deletions(-) create mode 100755 tests/build_luajit.sh mode change 100644 => 100755 tests/runtests.sh 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