1 //===-- Unittests for assert ----------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #undef NDEBUG 10 #include "src/assert/assert.h" 11 #include "utils/UnitTest/Test.h" 12 13 extern "C" int close(int); 14 TEST(Assert,Enabled)15TEST(Assert, Enabled) { 16 // -1 matches against any signal, which is necessary for now until 17 // __llvm_libc::abort() unblocks SIGABRT. Close standard error for the 18 // child process so we don't print the assertion failure message. 19 EXPECT_DEATH( 20 [] { 21 close(2); 22 assert(0); 23 }, 24 -1); 25 } 26 27 #define NDEBUG 28 #include "src/assert/assert.h" 29 TEST(Assert,Disabled)30TEST(Assert, Disabled) { 31 EXPECT_EXITS([] { assert(0); }, 0); 32 } 33