llvm-project

Форк
0
/
TestMacCatalystAppWithMacOSFramework.py 
49 строк · 1.9 Кб
1
import lldb
2
from lldbsuite.test.lldbtest import *
3
from lldbsuite.test.decorators import *
4
import lldbsuite.test.lldbutil as lldbutil
5
import os
6

7

8
class TestMacCatalystAppWithMacOSFramework(TestBase):
9
    @skipIf(macos_version=["<", "10.15"])
10
    @skipUnlessDarwin
11
    @skipIfDarwinEmbedded
12
    # There is a Clang driver change missing on llvm.org.
13
    @expectedFailureAll(bugnumber="rdar://problem/54986190>")
14
    def test(self):
15
        """Test the x86_64-apple-ios-macabi target linked against a macos dylib"""
16
        self.build()
17
        log = self.getBuildArtifact("packets.log")
18
        self.expect("log enable gdb-remote packets -f " + log)
19
        lldbutil.run_to_source_breakpoint(self, "break here", lldb.SBFileSpec("main.c"))
20
        arch = self.getArchitecture()
21
        self.expect(
22
            "image list -t -b",
23
            patterns=[
24
                arch + r".*-apple-ios.*-macabi a\.out",
25
                arch + r".*-apple-macosx.* libfoo.dylib[^(]",
26
            ],
27
        )
28
        self.expect("fr v s", "Hello macCatalyst")
29
        self.expect("expression s", "Hello macCatalyst")
30
        self.check_debugserver(log)
31

32
    def check_debugserver(self, log):
33
        """scan the debugserver packet log"""
34
        process_info = lldbutil.packetlog_get_process_info(log)
35
        self.assertIn("ostype", process_info)
36
        self.assertEqual(process_info["ostype"], "maccatalyst")
37

38
        aout_info = None
39
        libfoo_info = None
40
        dylib_info = lldbutil.packetlog_get_dylib_info(log)
41
        for image in dylib_info["images"]:
42
            if image["pathname"].endswith("a.out"):
43
                aout_info = image
44
            if image["pathname"].endswith("libfoo.dylib"):
45
                libfoo_info = image
46
        self.assertTrue(aout_info)
47
        self.assertTrue(libfoo_info)
48
        self.assertEqual(aout_info["min_version_os_name"], "maccatalyst")
49
        self.assertEqual(libfoo_info["min_version_os_name"], "macosx")
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.