[Tarantool-patches] [PATCH 3/3] ci: enable LuaJIT tests in CI

Igor Munkin imun at tarantool.org
Thu Feb 4 02:22:17 MSK 2021


This patch adds LuaJIT tests to every CI job type except the one for
static build testing routine on OSX: there is no way to run LuaJIT tests
for out of source build on OSX due to SIP[1].

[1]: https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/FileSystemProtections/FileSystemProtections.html

Follows up #4862

Signed-off-by: Igor Munkin <imun at tarantool.org>
---
 .travis.mk | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/.travis.mk b/.travis.mk
index 50524007c..c2b79a4e5 100644
--- a/.travis.mk
+++ b/.travis.mk
@@ -134,6 +134,7 @@ build_debian: configure_debian
 
 test_debian_no_deps: build_debian
 	cd test && /usr/bin/python test-run.py --force $(TEST_RUN_EXTRA_PARAMS)
+	make LuaJIT-test
 
 test_debian: deps_debian test_debian_no_deps
 
@@ -148,6 +149,7 @@ build_coverage_debian:
 test_coverage_debian_no_deps: build_coverage_debian
 	# Enable --long tests for coverage
 	cd test && /usr/bin/python test-run.py --force $(TEST_RUN_EXTRA_PARAMS) --long
+	make LuaJIT-test
 	lcov --compat-libtool --directory src/ --capture --output-file coverage.info.tmp \
 		--rc lcov_branch_coverage=1 --rc lcov_function_coverage=1
 	lcov --compat-libtool --remove coverage.info.tmp 'tests/*' 'third_party/*' '/usr/*' \
@@ -213,6 +215,10 @@ test_asan_debian_no_deps: build_asan_debian
 		LSAN_OPTIONS=suppressions=${PWD}/asan/lsan.supp \
 		ASAN_OPTIONS=heap_profile=0:unmap_shadow_on_exit=1:detect_invalid_pointer_pairs=1:symbolize=1:detect_leaks=1:dump_instruction_bytes=1:print_suppressions=0 \
 		./test-run.py --force $(TEST_RUN_EXTRA_PARAMS)
+	ASAN=ON \
+		LSAN_OPTIONS=suppressions=${PWD}/asan/lsan.supp \
+		ASAN_OPTIONS=heap_profile=0:unmap_shadow_on_exit=1:detect_invalid_pointer_pairs=1:symbolize=1:detect_leaks=1:dump_instruction_bytes=1:print_suppressions=0 \
+		make LuaJIT-test
 
 test_asan_debian: deps_debian deps_buster_clang_11 test_asan_debian_no_deps
 
@@ -237,6 +243,7 @@ test_static_build_cmake_linux:
 	make -j && ctest -V
 	cd test && /usr/bin/python test-run.py --force \
 		--builddir ${PWD}/static-build/tarantool-prefix/src/tarantool-build $(TEST_RUN_EXTRA_PARAMS)
+	make -C ${PWD}/static-build/tarantool-prefix/src/tarantool-build LuaJIT-test
 
 # ###################
 # Static Analysis
@@ -274,6 +281,7 @@ test_oos_no_deps: build_oos
 		${OOS_SRC_PATH}/test/test-run.py \
 			--builddir ${OOS_BUILD_PATH} \
 			--vardir ${OOS_BUILD_PATH}/test/var --force
+	make -C ${OOS_BUILD_PATH} LuaJIT-test
 
 test_oos: deps_debian test_oos_no_deps
 
@@ -339,6 +347,7 @@ INIT_TEST_ENV_OSX=\
 test_osx_no_deps: build_osx
 	${INIT_TEST_ENV_OSX}; \
 	cd test && ./test-run.py --vardir ${OSX_VARDIR} --force $(TEST_RUN_EXTRA_PARAMS)
+	make LuaJIT-test
 
 test_osx: deps_osx test_osx_no_deps
 
@@ -362,6 +371,16 @@ test_static_build_cmake_osx: base_deps_osx
 	cd test && ./test-run.py --vardir ${OSX_VARDIR} \
 		--builddir ${PWD}/static-build/tarantool-prefix/src/tarantool-build \
 		--force $(TEST_RUN_EXTRA_PARAMS)
+	# FIXME: Hell with SIP on OSX: Tarantool (and also LuaJIT)
+	# is built out of sources, so the test located in the
+	# source directory fails to load the shared library built
+	# in the binary directory via dlopen(3).
+	# For more info proceed the link below:
+	# https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/FileSystemProtections/FileSystemProtections.html
+	# Do not run LuaJIT related tests for this built until the
+	# issue is not resolved.
+	#
+	# make -C ${PWD}/static-build/tarantool-prefix/src/tarantool-build LuaJIT-test
 
 
 ###########
@@ -378,6 +397,7 @@ build_freebsd:
 
 test_freebsd_no_deps: build_freebsd
 	cd test && python2.7 test-run.py --force $(TEST_RUN_EXTRA_PARAMS)
+	make LuaJIT-test
 
 test_freebsd: deps_freebsd test_freebsd_no_deps
 
-- 
2.25.0



More information about the Tarantool-patches mailing list