Skip to content

Commit c361bcb

Browse files
authored
Merge 44ef354 into 07effa8
2 parents 07effa8 + 44ef354 commit c361bcb

File tree

3 files changed

+43
-3
lines changed

3 files changed

+43
-3
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: AddressSanitization
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
9+
env:
10+
BUILD_TYPE: Debug
11+
12+
jobs:
13+
ASAN:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- name: Install gtest
20+
run: sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo cmake CMakeLists.txt && sudo make && sudo cp lib/*.a /usr/lib && sudo ln -s /usr/lib/libgtest.a /usr/local/lib/libgtest.a && sudo ln -s /usr/lib/libgtest_main.a /usr/local/lib/libgtest_main.a
21+
22+
- name: Write files
23+
env:
24+
FILE_ONE: ${{ secrets.KRM_MAIN_FILE }}
25+
FILE_TWO: ${{ secrets.KRM_SCND_FILE }}
26+
run: |
27+
echo "${FILE_ONE}" | base64 --decode > ${HOME}/key.pem |
28+
echo "${FILE_TWO}" | base64 --decode > ${HOME}/scert.crt
29+
30+
- name: Build and test
31+
run: |
32+
cmake -DCMAKE_BUILD_TYPE=ASAN .
33+
cmake --build . --config ASAN
34+
ctest -VV -C ${{env.BUILD_TYPE}}

CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ SET(LICENSE "MIT")
1111

1212
project(cppsocket VERSION ${project_version} LANGUAGES CXX)
1313

14-
if (CMAKE_COMPILER_IS_GNUCXX)
15-
add_definitions(-DLINUX)
16-
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
14+
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
1715
add_definitions(-DLINUX)
1816
else()
1917
add_definitions(-DWINDOWS)

test/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
if(CMAKE_COMPILER_IS_GNUCXX)
22
if(CMAKE_BUILD_TYPE STREQUAL "Coverage")
3+
message(STATUS "Code Coverage")
34
set(CMAKE_CXX_FLAGS "-g -O0 -Wall -Werror --coverage")
45
set(CMAKE_C_FLAGS "-g -O0 -Wall -Werror --coverage")
6+
elseif(CMAKE_BUILD_TYPE STREQUAL "ASAN")
7+
message(STATUS "Address sanitization")
8+
set(CMAKE_CXX_FLAGS "-O3 -Wall -Werror -fsanitize=address -static-libasan")
59
else()
10+
message(STATUS "Base GCC")
611
set(CMAKE_CXX_FLAGS "-O3 -Wall -Werror")
712
endif()
813
find_package(OpenSSL REQUIRED)
@@ -11,13 +16,15 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
1116
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded")
1217
set(CMAKE_CXX_FLAGS "-Wall /O2")
1318
if(DEFINED ENV{CI})
19+
message(STATUS "MSVC Action")
1420
# github action CI needs
1521
set(GTEST_LIBRARY "D:/gtest/lib/gtest.lib")
1622
set(GTEST_INCLUDE_DIR "D:/gtest/include")
1723
set(GTEST_MAIN_LIBRARY "D:/gtest/lib/gtest_main.lib")
1824
set(OPENSSL_INCLUDE_DIR "C:/Program Files/OpenSSL/include")
1925
set(OPENSSL_LIBRARIES "C:/Program Files/OpenSSL/lib")
2026
else()
27+
message(STATUS "MSVC Local")
2128
# this may not be needed or need changing but I needed it
2229
# this requires setting Windows environment settings for this user with these correct values
2330
set(GTEST_LIBRARY $ENV{GTEST_LIBRARY})
@@ -29,6 +36,7 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
2936
find_package(OpenSSL REQUIRED)
3037
find_package(GTest REQUIRED)
3138
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
39+
message(STATUS "CLANG")
3240
set(CMAKE_CXX_FLAGS "-O3 -Wall -Werror")
3341
find_package(OpenSSL REQUIRED)
3442
find_package(GTest REQUIRED)

0 commit comments

Comments
 (0)