@@ -554,3 +554,72 @@ Linux/Clang/UndefinedSanitizer (LEGACY):
554554 CXX : clang++
555555 CMAKE_OPTIONS : -D USE_SANITIZER=undefined
556556 << : *linux_success_template
557+
558+ .macos_success_template : &macos_success_template
559+ stage : Sanitizers
560+ parallel :
561+ matrix :
562+ - ARCH : [arm64]
563+ tags :
564+ - macos
565+ - ${ARCH}
566+ script :
567+ - cmake example/all -B build -GNinja -DCMAKE_BUILD_TYPE=Release ${CMAKE_OPTIONS}
568+ - ninja -C build
569+ - ninja -C build test
570+
571+ .macos_failure_template : &macos_failure_template
572+ stage : Sanitizers
573+ parallel :
574+ matrix :
575+ - ARCH : [arm64]
576+ tags :
577+ - macos
578+ - ${ARCH}
579+ script :
580+ - cmake example/all -B build -GNinja -DCMAKE_BUILD_TYPE=Release ${CMAKE_OPTIONS}
581+ - ninja -C build
582+ - " ! ninja -C build test"
583+
584+ macOS/AppleClang/ThreadSanitizer :
585+ variables :
586+ CMAKE_OPTIONS : -D EXAMPLE_USE_SANITIZER=thread
587+ << : *macos_failure_template
588+
589+ macOS/Clang/ThreadSanitizer :
590+ variables :
591+ CC : clang
592+ CXX : clang++
593+ CMAKE_OPTIONS : -D EXAMPLE_USE_SANITIZER=thread
594+ << : *macos_failure_template
595+
596+ macOS/AppleClang/AddressSanitizer :
597+ variables :
598+ CMAKE_OPTIONS : -D EXAMPLE_USE_SANITIZER=address
599+ << : *macos_failure_template
600+
601+ macOS/Clang/AddressSanitizer :
602+ variables :
603+ CC : clang
604+ CXX : clang++
605+ CMAKE_OPTIONS : -D EXAMPLE_USE_SANITIZER=address
606+ << : *macos_failure_template
607+
608+ macOS/Clang/LeakSanitizer :
609+ variables :
610+ CC : clang
611+ CXX : clang++
612+ CMAKE_OPTIONS : -D EXAMPLE_USE_SANITIZER=leak
613+ << : *macos_failure_template
614+
615+ macOS/AppleClang/UndefinedSanitizer :
616+ variables :
617+ CMAKE_OPTIONS : -D EXAMPLE_USE_SANITIZER=undefined
618+ << : *macos_success_template
619+
620+ macOS/Clang/UndefinedSanitizer :
621+ variables :
622+ CC : clang
623+ CXX : clang++
624+ CMAKE_OPTIONS : -D EXAMPLE_USE_SANITIZER=undefined
625+ << : *macos_success_template
0 commit comments