Index: test/clang-tidy/Inputs/mock-libcxx/include/c++/v1/mock_vector =================================================================== --- /dev/null +++ test/clang-tidy/Inputs/mock-libcxx/include/c++/v1/mock_vector @@ -0,0 +1,3 @@ +class vector { + static_assert(false, "mock libcxx found"); +}; Index: test/clang-tidy/clang-tidy-mac-libcxx.cpp =================================================================== --- /dev/null +++ test/clang-tidy/clang-tidy-mac-libcxx.cpp @@ -0,0 +1,17 @@ +// Clang on MacOS can find libc++ living beside the installed compiler. +// This test makes sure clang-tidy emulates this properly. +// +// RUN: rm -rf %t +// RUN: mkdir %t +// +// Install the mock libc++ (simulates the libc++ directory structure). +// RUN: cp -r %S/Inputs/mock-libcxx %t/ +// +// Pretend clang is installed beside the mock library that we provided. +// RUN: echo '[{"directory":"%t","command":"%t/mock-libcxx/bin/clang++ -stdlib=libc++ -target x86_64-apple-darwin -c test.cpp","file":"test.cpp"}]' | sed -e 's/\\/\//g' > %t/compile_commands.json +// RUN: cp "%s" "%t/test.cpp" +// RUN: not clang-tidy "%t/test.cpp" | FileCheck %s +// CHECK: error: static_assert failed "mock libcxx found" + +#include +vector v;