1a920ae3bSAlexey Lapshin //===- llvm/unittest/DWARFLinkerParallel/DWARFLinkerTest.cpp --------------===// 2a920ae3bSAlexey Lapshin // 3a920ae3bSAlexey Lapshin // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4a920ae3bSAlexey Lapshin // See https://llvm.org/LICENSE.txt for license information. 5a920ae3bSAlexey Lapshin // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6a920ae3bSAlexey Lapshin // 7a920ae3bSAlexey Lapshin //===----------------------------------------------------------------------===// 8f8cc183eSAdrian Prantl 9f8cc183eSAdrian Prantl #include "llvm/DWARFLinker/Utils.h" 10f8cc183eSAdrian Prantl #include "gtest/gtest.h" 11f8cc183eSAdrian Prantl 12f8cc183eSAdrian Prantl using namespace llvm; 13f8cc183eSAdrian Prantl using namespace dwarf_linker; 14f8cc183eSAdrian Prantl 15f8cc183eSAdrian Prantl #define DEVELOPER_DIR "/Applications/Xcode.app/Contents/Developer" 16f8cc183eSAdrian Prantl 17f8cc183eSAdrian Prantl namespace { 18f8cc183eSAdrian Prantl TEST(DWARFLinker,PathTest)19f8cc183eSAdrian PrantlTEST(DWARFLinker, PathTest) { 20f8cc183eSAdrian Prantl EXPECT_EQ(guessDeveloperDir("/Foo"), ""); 21f8cc183eSAdrian Prantl EXPECT_EQ(guessDeveloperDir("Foo.sdk"), ""); 22f8cc183eSAdrian Prantl EXPECT_EQ(guessDeveloperDir( 23f8cc183eSAdrian Prantl DEVELOPER_DIR 24f8cc183eSAdrian Prantl "/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk"), 25f8cc183eSAdrian Prantl DEVELOPER_DIR); 26f8cc183eSAdrian Prantl EXPECT_EQ(guessDeveloperDir(DEVELOPER_DIR "/SDKs/MacOSX.sdk"), DEVELOPER_DIR); 27*22ada554SAdrian Prantl EXPECT_TRUE( 28*22ada554SAdrian Prantl isInToolchainDir("/Library/Developer/Toolchains/" 29*22ada554SAdrian Prantl "swift-DEVELOPMENT-SNAPSHOT-2024-05-15-a.xctoolchain/" 30*22ada554SAdrian Prantl "usr/lib/swift/macosx/_StringProcessing.swiftmodule/" 31*22ada554SAdrian Prantl "arm64-apple-macos.private.swiftinterface")); 32*22ada554SAdrian Prantl EXPECT_FALSE(isInToolchainDir("/Foo/not-an.xctoolchain/Bar/Baz")); 33f8cc183eSAdrian Prantl } 34f8cc183eSAdrian Prantl 35f8cc183eSAdrian Prantl } // anonymous namespace 36