diff options
-rw-r--r-- | .gitlab-ci.yml | 31 | ||||
-rwxr-xr-x | tools/ci/jobs/gcc49_sanitize_tests.sh | 55 |
2 files changed, 86 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a9f4c21b7..0ba283bdc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -604,6 +604,37 @@ gcc-5_sanitize_no_opengltests_i386: tags: - docker +gcc-4.9_sanitize_tests: + stage: build + script: + - ./tools/ci/jobs/gcc49_sanitize_tests.sh + - ldd ./src/manaplustests | grep "libasan" + image: debian:jessie + <<: *job-push + variables: + PACKAGES: gcc-4.9 g++-4.9 + make autoconf automake autopoint gettext + libxml2-dev libcurl4-gnutls-dev libpng-dev + libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev + valgrind + tags: + - docker + +gcc-4.9_sanitize_tests_i386: + stage: build + script: + - ./tools/ci/jobs/gcc49_sanitize_tests.sh + - ldd ./src/manaplustests | grep "libasan" + image: vicamo/debian:jessie-i386 + <<: *job-push + variables: + PACKAGES: gcc-4.9 g++-4.9 + make autoconf automake autopoint gettext + libxml2-dev libcurl4-gnutls-dev libpng-dev + libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev + valgrind + tags: + - docker gcc-5_sanitize: stage: build diff --git a/tools/ci/jobs/gcc49_sanitize_tests.sh b/tools/ci/jobs/gcc49_sanitize_tests.sh new file mode 100755 index 000000000..329df4509 --- /dev/null +++ b/tools/ci/jobs/gcc49_sanitize_tests.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +export CC=gcc-4.9 +export CXX=g++-4.9 + +if [ "$NEWCC" != "" ]; then + export CC="$NEWCC" +fi +if [ "$NEWCXX" != "" ]; then + export CXX="$NEWCXX" +fi + +export LOGFILE=gcc49_tests.log + +source ./tools/ci/scripts/init.sh + +export CXXFLAGS="$CXXFLAGS -ggdb3 -O2 -ffast-math \ +-fsanitize=address \ +-fno-omit-frame-pointer -funswitch-loops \ +-Wvariadic-macros -Wvla -Wredundant-decls \ +-Wpacked-bitfield-compat -Wtrampolines \ +-Wsuggest-attribute=noreturn -Wunused -Wstrict-aliasing=2 \ +-fstrict-aliasing -Wunreachable-code -Wabi \ +-Wvolatile-register-var -Winvalid-pch -Wredundant-decls \ +-Wnormalized=nfkc -Wmissing-format-attribute -Wmissing-noreturn \ +-Wswitch-default -Wsign-promo -Waddress -Wmissing-declarations \ +-Wctor-dtor-privacy -Wstrict-null-sentinel -Wlogical-op \ +-Wcast-align -Wpointer-arith -Wundef \ +-Wmissing-include-dirs -Winit-self -pedantic -Wall \ +-Wextra -fstrict-overflow -Wstrict-overflow=1 -Wunknown-pragmas \ +-Wwrite-strings -Wstack-protector -Wshadow -Wunused-macros -Wsynth \ +-Wbuiltin-macro-redefined -Wctor-dtor-privacy -Wdeprecated \ +-Wendif-labels -Wformat=1 -Wimport -Wnon-virtual-dtor -Wpsabi \ +-Wsign-promo -Wwrite-strings -D_FORTIFY_SOURCE=2 -Wc++11-compat -std=c++0x \ +-Wdelete-non-virtual-dtor -Wmaybe-uninitialized -Wunused-local-typedefs \ +-Wvector-operation-performance -Wfree-nonheap-object -Winvalid-memory-model \ +-Wnarrowing -Wzero-as-null-pointer-constant -funsafe-loop-optimizations \ +-Wabi-tag -Waggressive-loop-optimizations -Wclobbered -Wempty-body \ +-Wignored-qualifiers -Wliteral-suffix -Wmissing-field-initializers \ +-Woverlength-strings -Wpedantic -Wsign-compare -Wsizeof-pointer-memaccess \ +-Wsuggest-attribute=format -Wtype-limits -Wuninitialized \ +-Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function \ +-Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -ftrapv \ +-fsched-pressure \ +-Wconditionally-supported -Wdate-time -Woverloaded-virtual \ +-fno-var-tracking $POST_CXXFLAGS" + +do_init +run_configure --enable-unittests=yes $* +export SDL_VIDEODRIVER=dummy +run_make_check + +source ./tools/ci/scripts/exit.sh + +exit 0 |