Improve the runtests shell script and add support with testing with different builds of LuaJIT

This commit is contained in:
fsfod 2017-09-19 18:39:14 +01:00
parent 7a82653542
commit 1e9a1bb8cf
2 changed files with 60 additions and 3 deletions

33
tests/build_luajit.sh Executable file
View File

@ -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

30
tests/runtests.sh Normal file → Executable file
View File

@ -1,4 +1,28 @@
#!/bin/bash #!/bin/bash
cd "${0%/*}" TEST_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export LUA_PATH="$PWD/?.lua;$PWD/../src/?.lua;$LUA_PATH" export LUA_PATH="${TEST_DIR}/?.lua;${TEST_DIR}/../src/?.lua;$LUA_PATH"
../src/luajit ./test.lua
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