aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/DWARFLinkerParallel/DWARFLinkerTest.cpp
blob: 50c91396d6a1c5a3c3388672005da2996254f52b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//===- 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