diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index c2653768..edc2f938 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -19,6 +19,13 @@ jobs: - name: make test run: make test + tsan: + runs-on: macOS-latest + steps: + - uses: actions/checkout@v1 + - name: make test_tsan + run: make test_tsan + win: runs-on: windows-latest steps: diff --git a/makefile b/makefile index fbefee77..44c4fc77 100644 --- a/makefile +++ b/makefile @@ -90,6 +90,21 @@ test: mkdir -p build && (cd build ; cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_WS=1 -DUSE_TEST=1 .. ; make -j 4) (cd test ; python2.7 run.py -r) +test_tsan: + mkdir -p build && (cd build && cmake -GXcode -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_TEST=1 .. && xcodebuild -project ixwebsocket.xcodeproj -target ixwebsocket_unittest -enableThreadSanitizer YES) + (cd build/test ; ln -sf Debug/ixwebsocket_unittest) + (cd test ; python2.7 run.py -r) + +test_ubsan: + mkdir -p build && (cd build && cmake -GXcode -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_TEST=1 .. && xcodebuild -project ixwebsocket.xcodeproj -target ixwebsocket_unittest -enableUndefinedBehaviorSanitizer YES) + (cd build/test ; ln -sf Debug/ixwebsocket_unittest) + (cd test ; python2.7 run.py -r) + +test_asan: + mkdir -p build && (cd build && cmake -GXcode -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_TEST=1 .. && xcodebuild -project ixwebsocket.xcodeproj -target ixwebsocket_unittest -enableAddressSanitizer YES) + (cd build/test ; ln -sf Debug/ixwebsocket_unittest) + (cd test ; python2.7 run.py -r) + test_openssl: mkdir -p build && (cd build ; cmake -DCMAKE_BUILD_TYPE=Debug -DUSE_TLS=1 -DUSE_OPEN_SSL=1 -DUSE_TEST=1 .. ; make -j 4) (cd test ; python2.7 run.py -r)