From 6ee08c0289151276c525a6b2098f36fe2ca2dfc7 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Fri, 11 Oct 2019 09:41:52 +0200 Subject: Clang: Simplify include paths in tests * The paths on Linux are always "canonicalized" by GccToolChain::gccHeaderPaths(). Therefore, canonicalize the paths in the tests, soo. * Introduce some helper functions to shorten the code. * Do not break the strings literal paths as this complicates comparing them. Change-Id: I0fc8acde0e455a7974baae0d9fdffd3a4060ff74 Reviewed-by: Cristian Adam Reviewed-by: Nikolai Kosjar --- .../unit/unittest/compileroptionsbuilder-test.cpp | 260 ++++++++------------- tests/unit/unittest/headerpathfilter-test.cpp | 122 ++++------ 2 files changed, 149 insertions(+), 233 deletions(-) diff --git a/tests/unit/unittest/compileroptionsbuilder-test.cpp b/tests/unit/unittest/compileroptionsbuilder-test.cpp index d5692a9124..234fc0987c 100644 --- a/tests/unit/unittest/compileroptionsbuilder-test.cpp +++ b/tests/unit/unittest/compileroptionsbuilder-test.cpp @@ -71,6 +71,16 @@ protected: HeaderPath{"/tmp/path", HeaderPathType::User}}; } + static HeaderPath builtIn(const QString &path) + { + return HeaderPath{path, HeaderPathType::BuiltIn}; + } + + QString toNative(const QString &toNative) + { + return QDir::toNativeSeparators(toNative); + } + std::unique_ptr project{std::make_unique()}; ProjectPart projectPart; CppTools::CompilerOptionsBuilder compilerOptionsBuilder{projectPart}; @@ -196,14 +206,10 @@ TEST_F(CompilerOptionsBuilder, HeaderPathOptionsOrder) ASSERT_THAT(compilerOptionsBuilder.options(), ElementsAre("-nostdinc", "-nostdinc++", - "-I", - QDir::toNativeSeparators("/tmp/path"), - "-I", - QDir::toNativeSeparators("/tmp/system_path"), - "-isystem", - QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), - "-isystem", - QDir::toNativeSeparators("/tmp/builtin_path"))); + "-I", toNative("/tmp/path"), + "-I", toNative("/tmp/system_path"), + "-isystem", toNative(CLANG_RESOURCE_DIR ""), + "-isystem", toNative("/tmp/builtin_path"))); } TEST_F(CompilerOptionsBuilder, HeaderPathOptionsOrderCl) @@ -223,14 +229,12 @@ TEST_F(CompilerOptionsBuilder, HeaderPathOptionsOrderCl) ASSERT_THAT(compilerOptionsBuilder.options(), ElementsAre("-nostdinc", "-nostdinc++", - "-I", - QDir::toNativeSeparators("/tmp/path"), - "-I", - QDir::toNativeSeparators("/tmp/system_path"), + "-I", toNative("/tmp/path"), + "-I", toNative("/tmp/system_path"), "/clang:-isystem", - "/clang:" + QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), + "/clang:" + toNative(CLANG_RESOURCE_DIR ""), "/clang:-isystem", - "/clang:" + QDir::toNativeSeparators("/tmp/builtin_path"))); + "/clang:" + toNative("/tmp/builtin_path"))); } TEST_F(CompilerOptionsBuilder, UseSystemHeader) @@ -248,14 +252,10 @@ TEST_F(CompilerOptionsBuilder, UseSystemHeader) ASSERT_THAT(compilerOptionsBuilder.options(), ElementsAre("-nostdinc", "-nostdinc++", - "-I", - QDir::toNativeSeparators("/tmp/path"), - "-isystem", - QDir::toNativeSeparators("/tmp/system_path"), - "-isystem", - QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), - "-isystem", - QDir::toNativeSeparators("/tmp/builtin_path"))); + "-I", toNative("/tmp/path"), + "-isystem", toNative("/tmp/system_path"), + "-isystem", toNative(CLANG_RESOURCE_DIR ""), + "-isystem", toNative("/tmp/builtin_path"))); } TEST_F(CompilerOptionsBuilder, NoClangHeadersPath) @@ -263,22 +263,21 @@ TEST_F(CompilerOptionsBuilder, NoClangHeadersPath) compilerOptionsBuilder.addHeaderPathOptions(); ASSERT_THAT(compilerOptionsBuilder.options(), - ElementsAre("-I", - QDir::toNativeSeparators("/tmp/path"), - "-I", - QDir::toNativeSeparators("/tmp/system_path"))); + ElementsAre("-I", toNative("/tmp/path"), + "-I", toNative("/tmp/system_path"))); } TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderMacOs) { auto defaultPaths = projectPart.headerPaths; - projectPart.headerPaths = {HeaderPath{"/usr/include/c++/4.2.1", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include/c++/4.2.1/backward", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/local/include", HeaderPathType::BuiltIn}, - HeaderPath{"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include", HeaderPathType::BuiltIn}, - HeaderPath{"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include", HeaderPathType::BuiltIn} - }; + projectPart.headerPaths = { + builtIn("/usr/include/c++/4.2.1"), + builtIn("/usr/include/c++/4.2.1/backward"), + builtIn("/usr/local/include"), + builtIn("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/6.0/include"), + builtIn("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include"), + builtIn("/usr/include") + }; projectPart.headerPaths.append(defaultPaths); CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, @@ -293,38 +292,28 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderMacOs) ASSERT_THAT(compilerOptionsBuilder.options(), ElementsAre("-nostdinc", "-nostdinc++", - "-I", - QDir::toNativeSeparators("/tmp/path"), - "-I", - QDir::toNativeSeparators("/tmp/system_path"), - "-isystem", - QDir::toNativeSeparators("/usr/include/c++/4.2.1"), - "-isystem", - QDir::toNativeSeparators("/usr/include/c++/4.2.1/backward"), - "-isystem", - QDir::toNativeSeparators("/usr/local/include"), - "-isystem", - QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), - "-isystem", - QDir::toNativeSeparators( - "/Applications/Xcode.app/Contents/Developer/Toolchains/" - "XcodeDefault.xctoolchain/usr/include"), - "-isystem", - QDir::toNativeSeparators("/usr/include"), - "-isystem", - QDir::toNativeSeparators("/tmp/builtin_path"))); + "-I", toNative("/tmp/path"), + "-I", toNative("/tmp/system_path"), + "-isystem", toNative("/usr/include/c++/4.2.1"), + "-isystem", toNative("/usr/include/c++/4.2.1/backward"), + "-isystem", toNative("/usr/local/include"), + "-isystem", toNative(CLANG_RESOURCE_DIR ""), + "-isystem", toNative("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include"), + "-isystem", toNative("/usr/include"), + "-isystem", toNative("/tmp/builtin_path"))); } TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderLinux) { - projectPart.headerPaths = {HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/local/include", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/include", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include/x86_64-linux-gnu", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include", HeaderPathType::BuiltIn} - }; + projectPart.headerPaths = { + builtIn("/usr/include/c++/4.8"), + builtIn("/usr/include/c++/4.8/backward"), + builtIn("/usr/include/x86_64-linux-gnu/c++/4.8"), + builtIn("/usr/local/include"), + builtIn("/usr/lib/gcc/x86_64-linux-gnu/4.8/include"), + builtIn("/usr/include/x86_64-linux-gnu"), + builtIn("/usr/include"), + }; projectPart.toolChainTargetTriple = "x86_64-linux-gnu"; CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, @@ -341,37 +330,24 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderLinux) ElementsAre( "-nostdinc", "-nostdinc++", - "-isystem", - QDir::toNativeSeparators( - "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8"), - "-isystem", - QDir::toNativeSeparators( - "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward"), - "-isystem", - QDir::toNativeSeparators( - "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8"), - "-isystem", - QDir::toNativeSeparators("/usr/local/include"), - "-isystem", - QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), - "-isystem", - QDir::toNativeSeparators("/usr/lib/gcc/x86_64-linux-gnu/4.8/include"), - "-isystem", - QDir::toNativeSeparators("/usr/include/x86_64-linux-gnu"), - "-isystem", - QDir::toNativeSeparators("/usr/include"))); + "-isystem", toNative("/usr/include/c++/4.8"), + "-isystem", toNative("/usr/include/c++/4.8/backward"), + "-isystem", toNative("/usr/include/x86_64-linux-gnu/c++/4.8"), + "-isystem", toNative("/usr/local/include"), + "-isystem", toNative(CLANG_RESOURCE_DIR ""), + "-isystem", toNative("/usr/lib/gcc/x86_64-linux-gnu/4.8/include"), + "-isystem", toNative("/usr/include/x86_64-linux-gnu"), + "-isystem", toNative("/usr/include"))); } TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderNoVersion) { projectPart.headerPaths = { - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include", HeaderPathType::BuiltIn}, - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward", - HeaderPathType::BuiltIn}}; + builtIn("C:/mingw530/i686-w64-mingw32/include"), + builtIn("C:/mingw530/i686-w64-mingw32/include/c++"), + builtIn("C:/mingw530/i686-w64-mingw32/include/c++/i686-w64-mingw32"), + builtIn("C:/mingw530/i686-w64-mingw32/include/c++/backward"), + }; projectPart.toolChainTargetTriple = "x86_64-w64-windows-gnu"; CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, @@ -387,39 +363,22 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderNoVersion) compilerOptionsBuilder.options(), ElementsAre("-nostdinc", "-nostdinc++", - "-isystem", - QDir::toNativeSeparators( - "C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++"), - "-isystem", - QDir::toNativeSeparators( - "C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32"), - "-isystem", - QDir::toNativeSeparators( - "C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward"), - "-isystem", - QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), - "-isystem", - QDir::toNativeSeparators("C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include"))); + "-isystem", toNative("C:/mingw530/i686-w64-mingw32/include/c++"), + "-isystem", toNative("C:/mingw530/i686-w64-mingw32/include/c++/i686-w64-mingw32"), + "-isystem", toNative("C:/mingw530/i686-w64-mingw32/include/c++/backward"), + "-isystem", toNative(CLANG_RESOURCE_DIR ""), + "-isystem", toNative("C:/mingw530/i686-w64-mingw32/include"))); } TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderAndroidClang) { - projectPart.headerPaths - = {HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sysroot/usr/include/i686-linux-android", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-" - "stl/llvm-libc++/include", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/android/support/include", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-" - "stl/llvm-libc++abi/include", - HeaderPathType::BuiltIn}, - HeaderPath{ - "C:/Users/test/AppData/Local/Android/sdk/ndk-bundle/sysroot/usr/include", - HeaderPathType::BuiltIn}}; + projectPart.headerPaths = { + builtIn("C:/Android/sdk/ndk-bundle/sysroot/usr/include/i686-linux-android"), + builtIn("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include"), + builtIn("C:/Android/sdk/ndk-bundle/sources/android/support/include"), + builtIn("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include"), + builtIn("C:/Android/sdk/ndk-bundle/sysroot/usr/include"), + }; projectPart.toolChainTargetTriple = "i686-linux-android"; CppTools::CompilerOptionsBuilder compilerOptionsBuilder(projectPart, CppTools::UseSystemHeader::No, @@ -434,25 +393,12 @@ TEST_F(CompilerOptionsBuilder, ClangHeadersAndCppIncludesPathsOrderAndroidClang) ASSERT_THAT(compilerOptionsBuilder.options(), ElementsAre("-nostdinc", "-nostdinc++", - "-isystem", - QDir::toNativeSeparators("C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/cxx-stl/llvm-libc++/include"), - "-isystem", - QDir::toNativeSeparators( - "C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/cxx-stl/llvm-libc++abi/include"), - "-isystem", - QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), - "-isystem", - QDir::toNativeSeparators( - "C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sysroot/usr/include/i686-linux-android"), - "-isystem", - QDir::toNativeSeparators("C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/android/support/include"), - "-isystem", - QDir::toNativeSeparators("C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sysroot/usr/include"))); + "-isystem", toNative("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include"), + "-isystem", toNative("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include"), + "-isystem", toNative(CLANG_RESOURCE_DIR ""), + "-isystem", toNative("C:/Android/sdk/ndk-bundle/sysroot/usr/include/i686-linux-android"), + "-isystem", toNative("C:/Android/sdk/ndk-bundle/sources/android/support/include"), + "-isystem", toNative("C:/Android/sdk/ndk-bundle/sysroot/usr/include"))); } TEST_F(CompilerOptionsBuilder, NoPrecompiledHeader) @@ -467,7 +413,8 @@ TEST_F(CompilerOptionsBuilder, UsePrecompiledHeader) compilerOptionsBuilder.addPrecompiledHeaderOptions(CppTools::UsePrecompiledHeaders::Yes); ASSERT_THAT(compilerOptionsBuilder.options(), - ElementsAre("-include", QDir::toNativeSeparators(TESTDATA_DIR "/compileroptionsbuilder.pch"))); + ElementsAre("-include", + toNative(TESTDATA_DIR "/compileroptionsbuilder.pch"))); } TEST_F(CompilerOptionsBuilder, UsePrecompiledHeaderCl) @@ -480,7 +427,7 @@ TEST_F(CompilerOptionsBuilder, UsePrecompiledHeaderCl) ASSERT_THAT(compilerOptionsBuilder.options(), ElementsAre("/FI", - QDir::toNativeSeparators(TESTDATA_DIR "/compileroptionsbuilder.pch"))); + toNative(TESTDATA_DIR "/compileroptionsbuilder.pch"))); } TEST_F(CompilerOptionsBuilder, AddMacros) @@ -655,19 +602,12 @@ TEST_F(CompilerOptionsBuilder, BuildAllOptions) "-arch", "x86_64", "-DprojectFoo=projectBar", - "-I", - IsPartOfHeader("wrappedQtHeaders"), - "-I", - IsPartOfHeader( - QDir::toNativeSeparators("wrappedQtHeaders/QtCore").toStdString()), - "-I", - QDir::toNativeSeparators("/tmp/path"), - "-I", - QDir::toNativeSeparators("/tmp/system_path"), - "-isystem", - QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), - "-isystem", - QDir::toNativeSeparators("/tmp/builtin_path"))); + "-I", IsPartOfHeader("wrappedQtHeaders"), + "-I", IsPartOfHeader(toNative("wrappedQtHeaders/QtCore").toStdString()), + "-I", toNative("/tmp/path"), + "-I", toNative("/tmp/system_path"), + "-isystem", toNative(CLANG_RESOURCE_DIR ""), + "-isystem", toNative("/tmp/builtin_path"))); } TEST_F(CompilerOptionsBuilder, BuildAllOptionsCl) @@ -697,18 +637,14 @@ TEST_F(CompilerOptionsBuilder, BuildAllOptionsCl) "-D__FUNCSIG__=\"\"", "-D__FUNCTION__=\"\"", "-D__FUNCDNAME__=\"\"", - "-I", - IsPartOfHeader("wrappedQtHeaders"), - "-I", - IsPartOfHeader( - QDir::toNativeSeparators("wrappedQtHeaders/QtCore").toStdString()), - "-I", - QDir::toNativeSeparators("/tmp/path"), - "-I", - QDir::toNativeSeparators("/tmp/system_path"), + "-I", IsPartOfHeader("wrappedQtHeaders"), + "-I", IsPartOfHeader(toNative("wrappedQtHeaders/QtCore").toStdString()), + "-I", toNative("/tmp/path"), + "-I", toNative("/tmp/system_path"), "/clang:-isystem", - "/clang:" + QDir::toNativeSeparators(CLANG_RESOURCE_DIR ""), + "/clang:" + toNative(CLANG_RESOURCE_DIR ""), "/clang:-isystem", - "/clang:" + QDir::toNativeSeparators("/tmp/builtin_path"))); -} + "/clang:" + toNative("/tmp/builtin_path"))); } + +} // namespace diff --git a/tests/unit/unittest/headerpathfilter-test.cpp b/tests/unit/unittest/headerpathfilter-test.cpp index b5399a65fd..da9d735f49 100644 --- a/tests/unit/unittest/headerpathfilter-test.cpp +++ b/tests/unit/unittest/headerpathfilter-test.cpp @@ -85,6 +85,11 @@ protected: projectPart.project = &project; } + static HeaderPath builtIn(const QString &path) + { + return HeaderPath{path, HeaderPathType::BuiltIn}; + } + protected: ProjectExplorer::Project project; CppTools::ProjectPart projectPart; @@ -178,16 +183,14 @@ TEST_F(HeaderPathFilter, ClangHeadersPathWitoutClangVersion) TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderMacOs) { - auto builtIns = {HeaderPath{"/usr/include/c++/4.2.1", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include/c++/4.2.1/backward", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/local/include", HeaderPathType::BuiltIn}, - HeaderPath{"/Applications/Xcode.app/Contents/Developer/Toolchains/" - "XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include", - HeaderPathType::BuiltIn}, - HeaderPath{"/Applications/Xcode.app/Contents/Developer/Toolchains/" - "XcodeDefault.xctoolchain/usr/include", - HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include", HeaderPathType::BuiltIn}}; + auto builtIns = { + builtIn("/usr/include/c++/4.2.1"), + builtIn("/usr/include/c++/4.2.1/backward"), + builtIn("/usr/local/include"), + builtIn("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/6.0/include"), + builtIn("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include"), + builtIn("/usr/include") + }; projectPart.toolChainTargetTriple = "x86_64-apple-darwin10"; std::copy(builtIns.begin(), builtIns.end(), @@ -204,8 +207,7 @@ TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderMacOs) HasBuiltIn("/usr/include/c++/4.2.1/backward"), HasBuiltIn("/usr/local/include"), HasBuiltIn(CLANG_RESOURCE_DIR), - HasBuiltIn("/Applications/Xcode.app/Contents/Developer/Toolchains/" - "XcodeDefault.xctoolchain/usr/include"), + HasBuiltIn("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include"), HasBuiltIn("/usr/include"), HasBuiltIn("/builtin_path"))); } @@ -213,16 +215,13 @@ TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderMacOs) TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderLinux) { auto builtIns = { - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8", - HeaderPathType::BuiltIn}, - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward", - HeaderPathType::BuiltIn}, - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8", - HeaderPathType::BuiltIn}, - HeaderPath{"/usr/local/include", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/4.8/include", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include/x86_64-linux-gnu", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/include", HeaderPathType::BuiltIn}}; + builtIn("/usr/include/c++/4.8"), + builtIn("/usr/include/c++/4.8/backward"), + builtIn("/usr/include/x86_64-linux-gnu/c++/4.8"), + builtIn("/usr/local/include"), + builtIn("/usr/lib/gcc/x86_64-linux-gnu/4.8/include"), + builtIn("/usr/include/x86_64-linux-gnu"), + builtIn("/usr/include")}; std::copy(builtIns.begin(), builtIns.end(), std::inserter(projectPart.headerPaths, projectPart.headerPaths.begin())); @@ -235,12 +234,9 @@ TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderLinux) filter.process(); ASSERT_THAT(filter.builtInHeaderPaths, - ElementsAre(HasBuiltIn( - "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8"), - HasBuiltIn("/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/" - "c++/4.8/backward"), - HasBuiltIn("/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/" - "x86_64-linux-gnu/c++/4.8"), + ElementsAre(HasBuiltIn("/usr/include/c++/4.8"), + HasBuiltIn("/usr/include/c++/4.8/backward"), + HasBuiltIn("/usr/include/x86_64-linux-gnu/c++/4.8"), HasBuiltIn("/usr/local/include"), HasBuiltIn(CLANG_RESOURCE_DIR), HasBuiltIn("/usr/lib/gcc/x86_64-linux-gnu/4.8/include"), @@ -255,8 +251,8 @@ TEST_F(HeaderPathFilter, RemoveGccInternalPaths) projectPart.toolChainInstallDir = Utils::FilePath::fromUtf8("/usr/lib/gcc/x86_64-linux-gnu/7"); projectPart.toolchainType = ProjectExplorer::Constants::GCC_TOOLCHAIN_TYPEID; projectPart.headerPaths = { - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/7/include", HeaderPathType::BuiltIn}, - HeaderPath{"/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed", HeaderPathType::BuiltIn}, + builtIn("/usr/lib/gcc/x86_64-linux-gnu/7/include"), + builtIn("/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"), }; CppTools::HeaderPathFilter filter{projectPart, CppTools::UseTweakedHeaderPaths::Yes, @@ -273,16 +269,16 @@ TEST_F(HeaderPathFilter, RemoveGccInternalPaths) TEST_F(HeaderPathFilter, RemoveGccInternalPathsExceptForStandardPaths) { projectPart.toolChainInstallDir = Utils::FilePath::fromUtf8( - "c:/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0"); + "c:/mingw/lib/gcc/x86_64-w64-mingw32/7.3.0"); projectPart.toolchainType = ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID; projectPart.headerPaths = { - HeaderPath{"c:/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++", HeaderPathType::BuiltIn}, - HeaderPath{"c:/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/x86_64-w64-mingw32", HeaderPathType::BuiltIn}, - HeaderPath{"c:/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/backward", HeaderPathType::BuiltIn}, + builtIn("c:/mingw/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++"), + builtIn("c:/mingw/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/x86_64-w64-mingw32"), + builtIn("c:/mingw/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/backward"), }; auto expected = projectPart.headerPaths; - expected << HeaderPath{CLANG_RESOURCE_DIR, HeaderPathType::BuiltIn}; + expected << builtIn(CLANG_RESOURCE_DIR); CppTools::HeaderPathFilter filter{projectPart, CppTools::UseTweakedHeaderPaths::Yes, @@ -297,12 +293,11 @@ TEST_F(HeaderPathFilter, RemoveGccInternalPathsExceptForStandardPaths) TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderNoVersion) { projectPart.headerPaths = { - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include", HeaderPathType::BuiltIn}, - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++", HeaderPathType::BuiltIn}, - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward", - HeaderPathType::BuiltIn}}; + builtIn("C:/mingw/i686-w64-mingw32/include"), + builtIn("C:/mingw/i686-w64-mingw32/include/c++"), + builtIn("C:/mingw/i686-w64-mingw32/include/c++/i686-w64-mingw32"), + builtIn("C:/mingw/i686-w64-mingw32/include/c++/backward"), + }; projectPart.toolChainTargetTriple = "x86_64-w64-windows-gnu"; CppTools::HeaderPathFilter filter{projectPart, CppTools::UseTweakedHeaderPaths::Yes, @@ -313,31 +308,22 @@ TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderNoVersion) ASSERT_THAT( filter.builtInHeaderPaths, - ElementsAre(HasBuiltIn("C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++"), - HasBuiltIn( - "C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32"), - HasBuiltIn("C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward"), + ElementsAre(HasBuiltIn("C:/mingw/i686-w64-mingw32/include/c++"), + HasBuiltIn("C:/mingw/i686-w64-mingw32/include/c++/i686-w64-mingw32"), + HasBuiltIn("C:/mingw/i686-w64-mingw32/include/c++/backward"), HasBuiltIn(CLANG_RESOURCE_DIR), - HasBuiltIn("C:/Qt/Tools/mingw530_32/i686-w64-mingw32/include"))); + HasBuiltIn("C:/mingw/i686-w64-mingw32/include"))); } TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderAndroidClang) { projectPart.headerPaths = { - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sysroot/usr/include/i686-linux-android", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-" - "stl/llvm-libc++/include", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/android/support/include", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-bundle/sources/cxx-" - "stl/llvm-libc++abi/include", - HeaderPathType::BuiltIn}, - HeaderPath{"C:/Users/test/AppData/Local/Android/sdk/ndk-bundle/sysroot/usr/include", - HeaderPathType::BuiltIn}}; + builtIn("C:/Android/sdk/ndk-bundle/sysroot/usr/include/i686-linux-android"), + builtIn("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include"), + builtIn("C:/Android/sdk/ndk-bundle/sources/android/support/include"), + builtIn("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include"), + builtIn("C:/Android/sdk/ndk-bundle/sysroot/usr/include") + }; projectPart.toolChainTargetTriple = "i686-linux-android"; CppTools::HeaderPathFilter filter{projectPart, CppTools::UseTweakedHeaderPaths::Yes, @@ -348,18 +334,12 @@ TEST_F(HeaderPathFilter, ClangHeadersAndCppIncludesPathsOrderAndroidClang) ASSERT_THAT( filter.builtInHeaderPaths, - ElementsAre(HasBuiltIn("C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/cxx-stl/llvm-libc++/include"), - HasBuiltIn( - "C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/cxx-stl/llvm-libc++abi/include"), + ElementsAre(HasBuiltIn("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include"), + HasBuiltIn("C:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++abi/include"), HasBuiltIn(CLANG_RESOURCE_DIR), - HasBuiltIn("C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sysroot/usr/include/i686-linux-android"), - HasBuiltIn("C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sources/android/support/include"), - HasBuiltIn("C:/Users/test/AppData/Local/Android/sdk/ndk-" - "bundle/sysroot/usr/include"))); + HasBuiltIn("C:/Android/sdk/ndk-bundle/sysroot/usr/include/i686-linux-android"), + HasBuiltIn("C:/Android/sdk/ndk-bundle/sources/android/support/include"), + HasBuiltIn("C:/Android/sdk/ndk-bundle/sysroot/usr/include"))); } } // namespace -- cgit v1.2.3