import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestOrderedSet(TestBase):
def test_ordered_set(self):
self.build()
self.run_tests()
@skipUnlessDarwin
def test_ordered_set_no_const(self):
disable_constant_classes = {
"CFLAGS_EXTRAS": "-fno-constant-nsnumber-literals "
+ "-fno-constant-nsarray-literals "
+ "-fno-constant-nsdictionary-literals",
}
# FIXME: Remove when flags are available upstream.
self.build(dictionary=disable_constant_classes, compiler="xcrun clang")
self.run_tests()
def run_tests(self):
src_file = "main.m"
src_file_spec = lldb.SBFileSpec(src_file)
(target, process, thread, main_breakpoint) = lldbutil.run_to_source_breakpoint(
self, "break here", src_file_spec, exe_name="a.out"
)
frame = thread.GetSelectedFrame()
self.expect("expr -d run -- orderedSet", substrs=["3 elements"])
self.expect(
"expr -d run -- *orderedSet", substrs=["(int)1", "(int)2", "(int)3"]
)