//===- llvm/unittest/DWARFLinkerParallel/DWARFLinkerTest.cpp --------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "llvm/DWARFLinker/Utils.h" #include "gtest/gtest.h" using namespace llvm; using namespace dwarf_linker; #define DEVELOPER_DIR "/Applications/Xcode.app/Contents/Developer" namespace { TEST(DWARFLinker, PathTest) { EXPECT_EQ(guessDeveloperDir("/Foo"), ""); EXPECT_EQ(guessDeveloperDir("Foo.sdk"), ""); EXPECT_EQ(guessDeveloperDir( DEVELOPER_DIR "/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk"), DEVELOPER_DIR); EXPECT_EQ(guessDeveloperDir(DEVELOPER_DIR "/SDKs/MacOSX.sdk"), DEVELOPER_DIR); EXPECT_TRUE( isInToolchainDir("/Library/Developer/Toolchains/" "swift-DEVELOPMENT-SNAPSHOT-2024-05-15-a.xctoolchain/" "usr/lib/swift/macosx/_StringProcessing.swiftmodule/" "arm64-apple-macos.private.swiftinterface")); EXPECT_FALSE(isInToolchainDir("/Foo/not-an.xctoolchain/Bar/Baz")); } } // anonymous namespace