mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-04-21 00:11:52 +02:00
Merge pull request #1023 from redboltz/add_sanitizer
Added additional address sanitizer for CI.
This commit is contained in:
commit
c3df1bb26e
12
.github/workflows/gha.yml
vendored
12
.github/workflows/gha.yml
vendored
@ -31,10 +31,12 @@ jobs:
|
|||||||
export ARCH="64"
|
export ARCH="64"
|
||||||
if [ ${{ matrix.pattern }} == 0 ]; then
|
if [ ${{ matrix.pattern }} == 0 ]; then
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="unsigned"
|
export CHAR_SIGN="unsigned"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 1 ]; then
|
if [ ${{ matrix.pattern }} == 1 ]; then
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="signed"
|
export CHAR_SIGN="signed"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 2 ]; then
|
if [ ${{ matrix.pattern }} == 2 ]; then
|
||||||
@ -61,7 +63,7 @@ jobs:
|
|||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# build and test
|
# build and test
|
||||||
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" GTEST_ROOT="${BASE}/usr" CFLAGS="-Werror -g -fsanitize=undefined" CXXFLAGS="-Werror -g -fsanitize=undefined" ${ACTION}
|
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" GTEST_ROOT="${BASE}/usr" CFLAGS="-Werror -g -fsanitize=undefined -fno-sanitize-recover=all" CXXFLAGS="-Werror -g -ggdb3 -fsanitize=undefined -fno-sanitize-recover=all" ${ACTION}
|
||||||
|
|
||||||
linux:
|
linux:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-18.04
|
||||||
@ -87,6 +89,7 @@ jobs:
|
|||||||
ACTION="ci/build_cmake.sh"
|
ACTION="ci/build_cmake.sh"
|
||||||
export ARCH="64"
|
export ARCH="64"
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="unsigned"
|
export CHAR_SIGN="unsigned"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 1 ]; then
|
if [ ${{ matrix.pattern }} == 1 ]; then
|
||||||
@ -95,6 +98,7 @@ jobs:
|
|||||||
ACTION="ci/build_cmake.sh"
|
ACTION="ci/build_cmake.sh"
|
||||||
export ARCH="32"
|
export ARCH="32"
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="signed"
|
export CHAR_SIGN="signed"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 2 ]; then
|
if [ ${{ matrix.pattern }} == 2 ]; then
|
||||||
@ -103,6 +107,7 @@ jobs:
|
|||||||
ACTION="ci/build_cmake.sh"
|
ACTION="ci/build_cmake.sh"
|
||||||
export ARCH="64"
|
export ARCH="64"
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="signed"
|
export CHAR_SIGN="signed"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 3 ]; then
|
if [ ${{ matrix.pattern }} == 3 ]; then
|
||||||
@ -119,6 +124,7 @@ jobs:
|
|||||||
ACTION="ci/build_cmake.sh"
|
ACTION="ci/build_cmake.sh"
|
||||||
export ARCH="64"
|
export ARCH="64"
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="signed"
|
export CHAR_SIGN="signed"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 5 ]; then
|
if [ ${{ matrix.pattern }} == 5 ]; then
|
||||||
@ -127,6 +133,7 @@ jobs:
|
|||||||
ACTION="ci/build_cmake.sh"
|
ACTION="ci/build_cmake.sh"
|
||||||
export ARCH="32"
|
export ARCH="32"
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="unsigned"
|
export CHAR_SIGN="unsigned"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 6 ]; then
|
if [ ${{ matrix.pattern }} == 6 ]; then
|
||||||
@ -135,6 +142,7 @@ jobs:
|
|||||||
ACTION="ci/build_cmake.sh"
|
ACTION="ci/build_cmake.sh"
|
||||||
export ARCH="64"
|
export ARCH="64"
|
||||||
export SHARED="ON"
|
export SHARED="ON"
|
||||||
|
export SAN="-fsanitize=address -fno-omit-frame-pointer"
|
||||||
export CHAR_SIGN="unsigned"
|
export CHAR_SIGN="unsigned"
|
||||||
fi
|
fi
|
||||||
if [ ${{ matrix.pattern }} == 7 ]; then
|
if [ ${{ matrix.pattern }} == 7 ]; then
|
||||||
@ -172,7 +180,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# build and test
|
# build and test
|
||||||
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" GTEST_ROOT="${BASE}/usr" CFLAGS="-Werror -g -fsanitize=undefined" CXXFLAGS="-Werror -g -fsanitize=undefined" MSGPACK_SAN="${SAN}" ${ACTION}
|
CMAKE_CXX_COMPILER="${CXX}" CMAKE_C_COMPILER="${CC}" GTEST_ROOT="${BASE}/usr" CFLAGS="-Werror -g -fsanitize=undefined -fno-sanitize-recover=all" CXXFLAGS="-Werror -g -ggdb3 -fsanitize=undefined -fno-sanitize-recover=all" ${ACTION}
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
runs-on: windows-2019
|
runs-on: windows-2019
|
||||||
|
12
appveyor.yml
12
appveyor.yml
@ -22,10 +22,10 @@ build_script:
|
|||||||
- cmake --build . --config Release
|
- cmake --build . --config Release
|
||||||
- cd ..
|
- cd ..
|
||||||
- cd ..
|
- cd ..
|
||||||
- appveyor DownloadFile http://zlib.net/zlib-1.2.11.tar.gz -FileName zlib-1.2.11.tar.gz
|
- appveyor DownloadFile http://zlib.net/zlib-1.2.12.tar.gz -FileName zlib-1.2.12.tar.gz
|
||||||
- 7z x zlib-1.2.11.tar.gz > NUL
|
- 7z x zlib-1.2.12.tar.gz > NUL
|
||||||
- 7z x zlib-1.2.11.tar > NUL
|
- 7z x zlib-1.2.12.tar > NUL
|
||||||
- cd zlib-1.2.11
|
- cd zlib-1.2.12
|
||||||
- md build
|
- md build
|
||||||
- cd build
|
- cd build
|
||||||
- cmake -G %msvc% ..
|
- cmake -G %msvc% ..
|
||||||
@ -35,9 +35,9 @@ build_script:
|
|||||||
- cd ..
|
- cd ..
|
||||||
- md build
|
- md build
|
||||||
- cd build
|
- cd build
|
||||||
- cmake -G %msvc% -DGTEST_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest.lib -DGTEST_MAIN_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest_main.lib -DGTEST_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\include -DZLIB_LIBRARY=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' ..
|
- cmake -G %msvc% -DGTEST_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest.lib -DGTEST_MAIN_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest_main.lib -DGTEST_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\include -DZLIB_LIBRARY=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.12\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.12 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' ..
|
||||||
- cmake --build . --config Release -v
|
- cmake --build . --config Release -v
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.11\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release
|
- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.12\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release
|
||||||
- ctest -V
|
- ctest -V
|
||||||
|
@ -25,7 +25,7 @@ else
|
|||||||
export ARCH_FLAG="-m64"
|
export ARCH_FLAG="-m64"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cmake -DMSGPACK_32BIT=${BIT32} -DBUILD_SHARED_LIBS=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DCMAKE_CXX_FLAGS="${ARCH_FLAG} ${CXXFLAGS}" -DCMAKE_C_FLAGS="${CFLAGS}" ..
|
cmake -DMSGPACK_32BIT=${BIT32} -DBUILD_SHARED_LIBS=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DCMAKE_CXX_FLAGS="${ARCH_FLAG} ${CXXFLAGS} ${SAN}" -DCMAKE_C_FLAGS="${CFLAGS} ${SAN}" ..
|
||||||
|
|
||||||
ret=$?
|
ret=$?
|
||||||
if [ $ret -ne 0 ]
|
if [ $ret -ne 0 ]
|
||||||
@ -49,6 +49,7 @@ then
|
|||||||
exit $ret
|
exit $ret
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cmake -DMSGPACK_32BIT=${BIT32} -DBUILD_SHARED_LIBS=${SHARED} -DMSGPACK_CHAR_SIGN=${CHAR_SIGN} -DCMAKE_CXX_FLAGS="${ARCH_FLAG} ${CXXFLAGS}" -DCMAKE_C_FLAGS="${CFLAGS}" ..
|
||||||
make install DESTDIR=`pwd`/install
|
make install DESTDIR=`pwd`/install
|
||||||
|
|
||||||
ret=$?
|
ret=$?
|
||||||
|
Loading…
x
Reference in New Issue
Block a user