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

Timur Safin tsafin at tarantool.org
Wed Feb 24 10:16:29 MSK 2021


This 1 thing is the only one that is bother me: it looks dependency of
Tarantool LuaJIT tests are not yet properly assigned between build 
Targets we have.

Let me put it how it looks like from my side:
- LuaJIT-test is phony, defined in third_party/luajit target and 
  depends on tarantool-tests 
- tarantool-tests are not phony (i.e. you could not run Tarantool-tests 
  Twice, if you wish to)
- third_party/luajit/test is also depending on LuaJIT-luacheck
  Which is not phone either, and is not runnable if you
  Run it outside of Tarantool build (because .luacheckrc is 
  At the root of Tarantool repo, not LuaJIT repo).
- Also LuaJIT-test is explicitly referred in the travis makefiles
  And not implicitly called by dependency of Tarantool testing.

This bothers me a lot, looks like dependency tree is not working
correctly at the moment. Could you please make luacheck and Tarantool-test
targets phony, and add LuaJIT-test as prerequisite of Tarantool
testing (in cmake)?

Thanks,
Timur

: -----Original Message-----
: From: Tarantool-patches <tarantool-patches-bounces at dev.tarantool.org> On
: Behalf Of Igor Munkin via Tarantool-patches
: Sent: Thursday, February 4, 2021 2:22 AM
: To: Sergey Kaplun <skaplun at tarantool.org>; Alexander V. Tikhonov
: <avtikhon at tarantool.org>
: Cc: tarantool-patches at dev.tarantool.org
: Subject: [Tarantool-patches] [PATCH 3/3] ci: enable LuaJIT tests in CI
: 
: 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/Conceptua
: l/System_Integrity_Protection_Guide/FileSystemProtections/FileSystemProtecti
: ons.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_poin
: ter_pairs=1:symbolize=1:detect_leaks=1:dump_instruction_bytes=1:print_suppre
: ssions=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_poin
: ter_pairs=1:symbolize=1:detect_leaks=1:dump_instruction_bytes=1:print_suppre
: ssions=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/Conceptua
: l/System_Integrity_Protection_Guide/FileSystemProtections/FileSystemProtecti
: ons.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