Replace the plethora of ObjC-implied 'skipUnlessDarwin' decorators with marking tests as 'objc' category (whenever missing), and skip all ObjC tests on non-Darwin platforms. I have used '.categories' file wherever it was present already or all (>1) tests were relying on ObjC, and explicit add_test_categories() where there was only one test. Differential Revision: https://reviews.llvm.org/D91056
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
"""Test that the Objective-C syntax for dictionary/array literals and indexing works"""
|
|
|
|
|
|
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
from ObjCNewSyntaxTest import ObjCNewSyntaxTest
|
|
|
|
|
|
class ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest):
|
|
|
|
@skipIf(macos_version=["<", "10.12"])
|
|
@expectedFailureAll(archs=["i[3-6]86"])
|
|
def test_read_dictionary(self):
|
|
self.runToBreakpoint()
|
|
|
|
self.expect(
|
|
"expr --object-description -- immutable_dictionary[@\"key\"]",
|
|
VARIABLES_DISPLAYED_CORRECTLY,
|
|
substrs=["value"])
|
|
|
|
self.expect(
|
|
"expr --object-description -- mutable_dictionary[@\"key\"]",
|
|
VARIABLES_DISPLAYED_CORRECTLY,
|
|
substrs=["value"])
|
|
|
|
@skipIf(macos_version=["<", "10.12"])
|
|
@expectedFailureAll(archs=["i[3-6]86"])
|
|
def test_update_dictionary(self):
|
|
self.runToBreakpoint()
|
|
|
|
self.expect(
|
|
"expr --object-description -- mutable_dictionary[@\"key\"] = @\"object\"",
|
|
VARIABLES_DISPLAYED_CORRECTLY,
|
|
substrs=["object"])
|
|
|
|
self.expect(
|
|
"expr --object-description -- mutable_dictionary[@\"key\"]",
|
|
VARIABLES_DISPLAYED_CORRECTLY,
|
|
substrs=["object"])
|
|
|
|
@skipIf(macos_version=["<", "10.12"])
|
|
@expectedFailureAll(archs=["i[3-6]86"])
|
|
def test_dictionary_literal(self):
|
|
self.runToBreakpoint()
|
|
|
|
self.expect(
|
|
"expr --object-description -- @{ @\"key\" : @\"object\" }",
|
|
VARIABLES_DISPLAYED_CORRECTLY,
|
|
substrs=[
|
|
"key",
|
|
"object"])
|