From 735adbf1a80db3fe9ea8edaa172582ed2729a220 Mon Sep 17 00:00:00 2001 From: Cyndy Ishida Date: Wed, 17 Jan 2024 10:35:20 -0800 Subject: [llvm] Teach MachO about XROS (#78373) Add support for XROS to encode in Mach-O file formats. --- llvm/unittests/TextAPI/TextStubV4Tests.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'llvm/unittests/TextAPI') diff --git a/llvm/unittests/TextAPI/TextStubV4Tests.cpp b/llvm/unittests/TextAPI/TextStubV4Tests.cpp index 2fefd79..850a667 100644 --- a/llvm/unittests/TextAPI/TextStubV4Tests.cpp +++ b/llvm/unittests/TextAPI/TextStubV4Tests.cpp @@ -751,6 +751,35 @@ TEST(TBDv4, Target_i386_driverkit) { stripWhitespace(Buffer.c_str())); } +TEST(TBDv4, Target_arm64_xros) { + static const char TBDv4ArchArm64e[] = + "--- !tapi-tbd\n" + "tbd-version: 4\n" + "targets: [ arm64e-xros, arm64e-xros-simulator ]\n" + "install-name: Test.dylib\n" + "...\n"; + + auto Result = + TextAPIReader::get(MemoryBufferRef(TBDv4ArchArm64e, "Test.tbd")); + EXPECT_TRUE(!!Result); + auto File = std::move(Result.get()); + EXPECT_EQ(FileType::TBD_V4, File->getFileType()); + PlatformSet ExpectedSet; + ExpectedSet.insert(PLATFORM_XROS); + ExpectedSet.insert(PLATFORM_XROS_SIMULATOR); + EXPECT_EQ(File->getPlatforms().size(), 2U); + for (auto Platform : File->getPlatforms()) + EXPECT_EQ(ExpectedSet.count(Platform), 1U); + + EXPECT_EQ(ArchitectureSet(AK_arm64e), File->getArchitectures()); + + SmallString<4096> Buffer; + raw_svector_ostream OS(Buffer); + auto WriteResult = TextAPIWriter::writeToStream(OS, *File); + EXPECT_TRUE(!WriteResult); + EXPECT_EQ(stripWhitespace(TBDv4ArchArm64e), stripWhitespace(Buffer.c_str())); +} + TEST(TBDv4, Swift_1) { static const char TBDv4SwiftVersion1[] = "--- !tapi-tbd\n" "tbd-version: 4\n" -- cgit v1.1