1*d6d569fcSNico Weber //===-- sanitizer_nolibc_test.cpp -----------------------------------------===// 2*d6d569fcSNico Weber // 3*d6d569fcSNico Weber // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*d6d569fcSNico Weber // See https://llvm.org/LICENSE.txt for license information. 5*d6d569fcSNico Weber // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*d6d569fcSNico Weber // 7*d6d569fcSNico Weber //===----------------------------------------------------------------------===// 8*d6d569fcSNico Weber // 9*d6d569fcSNico Weber // This file is a part of ThreadSanitizer/AddressSanitizer runtime. 10*d6d569fcSNico Weber // Tests for libc independence of sanitizer_common. 11*d6d569fcSNico Weber // 12*d6d569fcSNico Weber //===----------------------------------------------------------------------===// 13*d6d569fcSNico Weber 14*d6d569fcSNico Weber #include "sanitizer_common/sanitizer_platform.h" 15*d6d569fcSNico Weber 16*d6d569fcSNico Weber #include "gtest/gtest.h" 17*d6d569fcSNico Weber 18*d6d569fcSNico Weber #include <stdlib.h> 19*d6d569fcSNico Weber 20*d6d569fcSNico Weber extern const char *argv0; 21*d6d569fcSNico Weber 22*d6d569fcSNico Weber #if SANITIZER_LINUX && defined(__x86_64__) TEST(SanitizerCommon,NolibcMain)23*d6d569fcSNico WeberTEST(SanitizerCommon, NolibcMain) { 24*d6d569fcSNico Weber std::string NolibcTestPath = argv0; 25*d6d569fcSNico Weber NolibcTestPath += "-Nolibc"; 26*d6d569fcSNico Weber int status = system(NolibcTestPath.c_str()); 27*d6d569fcSNico Weber EXPECT_EQ(true, WIFEXITED(status)); 28*d6d569fcSNico Weber EXPECT_EQ(0, WEXITSTATUS(status)); 29*d6d569fcSNico Weber } 30*d6d569fcSNico Weber #endif 31