From: "Alexander V. Tikhonov" <avtikhon@tarantool.org> To: Igor Munkin <imun@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: [Tarantool-patches] [PATCH v2] test: need ASAN testing in commit process Date: Thu, 21 Nov 2019 11:12:38 +0300 [thread overview] Message-ID: <a88f6a0bbef0b402c1793072a30eddb5c04a72f3.1574323778.git.avtikhon@tarantool.org> (raw) Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled during issue #4360. On cherry pick changes for LTO were not used, due to LTO testing is not needed on 1.10. Also added skip condition files for tests: box/func_reload box/function1 which fail only on 1.10 with ASAN. Closes #4359 (partly cherry picked from commit 55f7586ac36760f31255fee7b70606f466f30e04) --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/asan_1.10 Issue: https://github.com/tarantool/tarantool/issues/4359 .gitlab-ci.yml | 5 +++++ .travis.mk | 22 ++++++++++++++++++++++ test/app-tap/json.skipcond | 7 +++++++ test/box/func_reload.skipcond | 7 +++++++ test/box/function1.skipcond | 7 +++++++ test/unit/guard.skipcond | 7 +++++++ test/unit/msgpack.skipcond | 7 +++++++ 7 files changed, 62 insertions(+) create mode 100644 test/app-tap/json.skipcond create mode 100644 test/box/func_reload.skipcond create mode 100644 test/box/function1.skipcond create mode 100644 test/unit/guard.skipcond create mode 100644 test/unit/msgpack.skipcond diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 04bb4b1cc..5d3702ae5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -85,6 +85,11 @@ release_lto_clang8: script: - ${GITLAB_MAKE} test_debian_no_deps +release_asan_clang8: + <<: *docker_test_clang8_definition + script: + - ${GITLAB_MAKE} test_asan_debian_no_deps + osx_13_release: <<: *release_only_definition <<: *vbox_definition diff --git a/.travis.mk b/.travis.mk index bfb3016da..30255d6f7 100644 --- a/.travis.mk +++ b/.travis.mk @@ -16,6 +16,7 @@ test: test_$(TRAVIS_OS_NAME) # Redirect some targets via docker test_linux: docker_test_debian coverage: docker_coverage_debian +asan: docker_test_asan_debian docker_%: mkdir -p ~/.cache/ccache @@ -68,6 +69,8 @@ deps_buster_clang_8: deps_debian apt-get update apt-get install -y clang-8 llvm-8-dev +# Release + build_debian: cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS} make -j @@ -77,6 +80,10 @@ test_debian_no_deps: build_debian test_debian: deps_debian test_debian_no_deps +test_debian_clang8: deps_debian deps_buster_clang_8 test_debian_no_deps + +# Debug with coverage + build_coverage_debian: cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=ON make -j @@ -97,6 +104,21 @@ test_coverage_debian_no_deps: build_coverage_debian coverage_debian: deps_debian test_coverage_debian_no_deps +# ASAN + +build_asan_debian: + CC=clang-8 CXX=clang++-8 cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS} + CC=clang-8 CXX=clang++-8 cmake . -DENABLE_ASAN=ON ${CMAKE_EXTRA_PARAMS} + make -j + +test_asan_debian_no_deps: build_asan_debian + # temporary excluded engine/ and replication/ suites with some tests from other suites by issue #4360 + cd test && ASAN=ON ASAN_OPTIONS=detect_leaks=0 ./test-run.py --force $(TEST_RUN_EXTRA_PARAMS) \ + app/ app-tap/ box/ box-py/ box-tap/ engine_long/ long_run-py/ luajit-tap/ \ + replication-py/ small/ sql/ sql-tap/ swim/ unit/ vinyl/ wal_off/ xlog/ xlog-py/ + +test_asan_debian: deps_debian deps_buster_clang_8 test_asan_debian_no_deps + ####### # OSX # ####### diff --git a/test/app-tap/json.skipcond b/test/app-tap/json.skipcond new file mode 100644 index 000000000..e46fd1088 --- /dev/null +++ b/test/app-tap/json.skipcond @@ -0,0 +1,7 @@ +import os + +# Disabled at ASAN build due to issue #4360. +if os.getenv("ASAN") == 'ON': + self.skip = 1 + +# vim: set ft=python: diff --git a/test/box/func_reload.skipcond b/test/box/func_reload.skipcond new file mode 100644 index 000000000..e46fd1088 --- /dev/null +++ b/test/box/func_reload.skipcond @@ -0,0 +1,7 @@ +import os + +# Disabled at ASAN build due to issue #4360. +if os.getenv("ASAN") == 'ON': + self.skip = 1 + +# vim: set ft=python: diff --git a/test/box/function1.skipcond b/test/box/function1.skipcond new file mode 100644 index 000000000..e46fd1088 --- /dev/null +++ b/test/box/function1.skipcond @@ -0,0 +1,7 @@ +import os + +# Disabled at ASAN build due to issue #4360. +if os.getenv("ASAN") == 'ON': + self.skip = 1 + +# vim: set ft=python: diff --git a/test/unit/guard.skipcond b/test/unit/guard.skipcond new file mode 100644 index 000000000..e46fd1088 --- /dev/null +++ b/test/unit/guard.skipcond @@ -0,0 +1,7 @@ +import os + +# Disabled at ASAN build due to issue #4360. +if os.getenv("ASAN") == 'ON': + self.skip = 1 + +# vim: set ft=python: diff --git a/test/unit/msgpack.skipcond b/test/unit/msgpack.skipcond new file mode 100644 index 000000000..e46fd1088 --- /dev/null +++ b/test/unit/msgpack.skipcond @@ -0,0 +1,7 @@ +import os + +# Disabled at ASAN build due to issue #4360. +if os.getenv("ASAN") == 'ON': + self.skip = 1 + +# vim: set ft=python: -- 2.17.1
next reply other threads:[~2019-11-21 8:12 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-21 8:12 Alexander V. Tikhonov [this message] 2019-11-21 11:32 ` Igor Munkin 2019-11-21 11:45 ` Alexander Tikhonov 2019-11-26 8:01 ` Kirill Yukhin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=a88f6a0bbef0b402c1793072a30eddb5c04a72f3.1574323778.git.avtikhon@tarantool.org \ --to=avtikhon@tarantool.org \ --cc=imun@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v2] test: need ASAN testing in commit process' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox