diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py --- a/lldb/packages/Python/lldbsuite/test/dotest.py +++ b/lldb/packages/Python/lldbsuite/test/dotest.py @@ -835,6 +835,13 @@ print("watchpoint tests will not be run because: " + reason) configuration.skip_categories.append("watchpoint") +def checkObjcSupport(): + from lldbsuite.test import lldbplatformutil + + if not lldbplatformutil.platformIsDarwin(): + print("objc tests will be skipped because of unsupported platform") + configuration.skip_categories.append("objc") + def checkDebugInfoSupport(): import lldb @@ -945,6 +952,7 @@ checkLibstdcxxSupport() checkWatchpointSupport() checkDebugInfoSupport() + checkObjcSupport() # Perform LLGS tests only on platforms using it. configuration.llgs_platform = ( diff --git a/lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py b/lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py --- a/lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py +++ b/lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py @@ -21,7 +21,7 @@ self.main_source = "call-throws.m" self.main_source_spec = lldb.SBFileSpec(self.main_source) - @skipUnlessDarwin + @add_test_categories(["objc"]) def test(self): """Test calling a function that throws and ObjC exception.""" self.build() diff --git a/lldb/test/API/commands/expression/context-object-objc/TestContextObjectObjc.py b/lldb/test/API/commands/expression/context-object-objc/TestContextObjectObjc.py --- a/lldb/test/API/commands/expression/context-object-objc/TestContextObjectObjc.py +++ b/lldb/test/API/commands/expression/context-object-objc/TestContextObjectObjc.py @@ -11,7 +11,7 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin + @add_test_categories(["objc"]) def test_context_object_objc(self): """Tests expression evaluation in context of an objc class.""" self.build() diff --git a/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py b/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py --- a/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py +++ b/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py @@ -88,7 +88,7 @@ self.assertFalse(value.GetError().Success()) self.assertIn("error: :1:8: redefinition of 'Redef'\nstruct Redef { float y; };\n ^\n:1:8: previous definition is here\nstruct Redef { double x; };\n ^", value.GetError().GetCString()) - @skipUnlessDarwin + @add_test_categories(["objc"]) def test_source_locations_from_objc_modules(self): self.build() diff --git a/lldb/test/API/commands/expression/import_builtin_fileid/TestImportBuiltinFileID.py b/lldb/test/API/commands/expression/import_builtin_fileid/TestImportBuiltinFileID.py --- a/lldb/test/API/commands/expression/import_builtin_fileid/TestImportBuiltinFileID.py +++ b/lldb/test/API/commands/expression/import_builtin_fileid/TestImportBuiltinFileID.py @@ -14,9 +14,8 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin @skipIfDarwinEmbedded - @add_test_categories(["gmodules"]) + @add_test_categories(["gmodules", "objc"]) def test_import_builtin_fileid(self): self.build() diff --git a/lldb/test/API/commands/expression/namespace_local_var_same_name_obj_c/TestNamespaceLocalVarSameNameObjC.py b/lldb/test/API/commands/expression/namespace_local_var_same_name_obj_c/TestNamespaceLocalVarSameNameObjC.py --- a/lldb/test/API/commands/expression/namespace_local_var_same_name_obj_c/TestNamespaceLocalVarSameNameObjC.py +++ b/lldb/test/API/commands/expression/namespace_local_var_same_name_obj_c/TestNamespaceLocalVarSameNameObjC.py @@ -7,8 +7,7 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin - @add_test_categories(["gmodules"]) + @add_test_categories(["gmodules", "objc"]) def test_namespace_local_var_same_name_obj_c(self): self.build() diff --git a/lldb/test/API/commands/expression/persist_objc_pointeetype/TestPersistObjCPointeeType.py b/lldb/test/API/commands/expression/persist_objc_pointeetype/TestPersistObjCPointeeType.py --- a/lldb/test/API/commands/expression/persist_objc_pointeetype/TestPersistObjCPointeeType.py +++ b/lldb/test/API/commands/expression/persist_objc_pointeetype/TestPersistObjCPointeeType.py @@ -20,9 +20,9 @@ # Find the line number to break for main.cpp. self.line = line_number('main.m', '// break here') - @skipUnlessDarwin @skipIf(archs=["i386", "i686"]) @skipIf(debug_info="gmodules", archs=['arm64', 'armv7', 'armv7k', 'arm64e', 'arm64_32']) # compile error with gmodules for iOS + @add_test_categories(["objc"]) def test_with(self): """Test that we can p *objcObject""" self.build() diff --git a/lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py b/lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py --- a/lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py +++ b/lldb/test/API/commands/expression/po_verbosity/TestPoVerbosity.py @@ -21,7 +21,7 @@ self.line = line_number('main.m', '// Stop here') - @skipUnlessDarwin + @add_test_categories(["objc"]) def test(self): """Test that the po command acts correctly.""" self.build() diff --git a/lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py b/lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py --- a/lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py +++ b/lldb/test/API/commands/expression/two-files/TestObjCTypeQueryFromOtherCompileUnit.py @@ -23,7 +23,7 @@ self.line = line_number( 'main.m', "// Set breakpoint here, then do 'expr (NSArray*)array_token'.") - @skipUnlessDarwin + @add_test_categories(["objc"]) def test(self): """The expression parser's type search should be wider than the current compilation unit.""" self.build() diff --git a/lldb/test/API/commands/frame/recognizer/.categories b/lldb/test/API/commands/frame/recognizer/.categories new file mode 100644 --- /dev/null +++ b/lldb/test/API/commands/frame/recognizer/.categories @@ -0,0 +1 @@ +objc diff --git a/lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py b/lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py --- a/lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py +++ b/lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py @@ -13,11 +13,11 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class TestObjCBreakpoints(TestBase): mydir = TestBase.compute_mydir(__file__) + @add_test_categories(["objc"]) def test_break(self): """Test setting Objective-C specific breakpoints (DWARF in .o files).""" self.build() diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCCF.py @@ -14,7 +14,6 @@ class ObjCDataFormatterCF(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_coreframeworks_and_run_command(self): """Test formatters for Core OSX frameworks.""" self.build() diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCExpr.py @@ -14,7 +14,6 @@ class ObjCDataFormatterExpr(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_expr_with_run_command(self): """Test common cases of expression parser <--> formatters interaction.""" self.build() diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCKVO.py @@ -14,7 +14,6 @@ class ObjCDataFormatterKVO(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_kvo_with_run_command(self): """Test the behavior of formatters when KVO is in use.""" self.build() diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSBundle.py @@ -14,7 +14,6 @@ class ObjCDataFormatterNSBundle(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_nsbundle_with_run_command(self): """Test formatters for NSBundle.""" self.appkit_tester_impl(self.nsbundle_data_formatter_commands) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py @@ -14,7 +14,6 @@ class ObjCDataFormatterNSContainer(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_nscontainers_with_run_command(self): """Test formatters for NS container classes.""" self.appkit_tester_impl(self.nscontainers_data_formatter_commands) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSData.py @@ -14,7 +14,6 @@ class ObjCDataFormatterNSData(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_nsdata_with_run_command(self): """Test formatters for NSData.""" self.appkit_tester_impl(self.nsdata_data_formatter_commands) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py @@ -15,7 +15,6 @@ class ObjCDataFormatterNSDate(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_nsdate_with_run_command(self): """Test formatters for NSDate.""" self.appkit_tester_impl(self.nsdate_data_formatter_commands) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSError.py @@ -14,7 +14,6 @@ class ObjCDataFormatterNSError(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_nserror_with_run_command(self): """Test formatters for NSError.""" self.appkit_tester_impl(self.nserror_data_formatter_commands) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSURL.py @@ -14,7 +14,6 @@ class ObjCDataFormatterNSURL(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_nsurl_with_run_command(self): """Test formatters for NSURL.""" self.appkit_tester_impl(self.nsurl_data_formatter_commands) diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCPlain.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCPlain.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCPlain.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCPlain.py @@ -14,7 +14,6 @@ class ObjCDataFormatterNSPlain(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_plain_objc_with_run_command(self): """Test basic ObjC formatting behavior.""" self.build() diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py --- a/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py +++ b/lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjNSException.py @@ -14,7 +14,6 @@ class ObjCDataFormatterNSException(ObjCDataFormatterTestCase): - @skipUnlessDarwin def test_nsexception_with_run_command(self): """Test formatters for NSException.""" self.appkit_tester_impl(self.nsexception_data_formatter_commands) diff --git a/lldb/test/API/functionalities/set-data/TestSetData.py b/lldb/test/API/functionalities/set-data/TestSetData.py --- a/lldb/test/API/functionalities/set-data/TestSetData.py +++ b/lldb/test/API/functionalities/set-data/TestSetData.py @@ -14,7 +14,7 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin + @add_test_categories(["objc"]) def test_set_data(self): """Test setting the contents of variables and registers using raw data.""" self.build() diff --git a/lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py b/lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py --- a/lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py +++ b/lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py @@ -20,6 +20,7 @@ @skipIfFreeBSD # llvm.org/pr21136 runtimes not yet available by default @skipIfRemote @skipUnlessThreadSanitizer + @add_test_categories(["objc"]) def test(self): self.build() self.tsan_tests() diff --git a/lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py b/lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py --- a/lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py +++ b/lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py @@ -8,7 +8,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test(self): self.build() lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.m")) diff --git a/lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py b/lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py --- a/lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py +++ b/lldb/test/API/lang/objc/blocks/TestObjCIvarsInBlocks.py @@ -18,7 +18,6 @@ self.class_source = "ivars-in-blocks.m" self.class_source_file_spec = lldb.SBFileSpec(self.class_source) - @skipUnlessDarwin @add_test_categories(['pyapi']) @skipIf(dwarf_version=['<', '4']) @expectedFailureAll( diff --git a/lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py b/lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py --- a/lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py +++ b/lldb/test/API/lang/objc/conflicting-definition/TestConflictingDefinition.py @@ -12,7 +12,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_frame_var_after_stop_at_implementation(self): """Test that we can find the implementation for an objective C type""" if self.getArchitecture() == 'i386': diff --git a/lldb/test/API/lang/objc/direct-dispatch-step/TestObjCDirectDispatchStepping.py b/lldb/test/API/lang/objc/direct-dispatch-step/TestObjCDirectDispatchStepping.py --- a/lldb/test/API/lang/objc/direct-dispatch-step/TestObjCDirectDispatchStepping.py +++ b/lldb/test/API/lang/objc/direct-dispatch-step/TestObjCDirectDispatchStepping.py @@ -20,7 +20,6 @@ # Find the line numbers that we will step to in main: self.main_source = lldb.SBFileSpec("stepping-tests.m") - @skipUnlessDarwin @add_test_categories(['pyapi', 'basic_process']) def test_with_python_api(self): """Test stepping through the 'direct dispatch' optimized method calls.""" diff --git a/lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py b/lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py --- a/lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py +++ b/lldb/test/API/lang/objc/exceptions/TestObjCExceptions.py @@ -15,7 +15,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_objc_exceptions_at_throw(self): self.build() @@ -126,7 +125,6 @@ for n in ["objc_exception_throw", "foo(int)", "main"]: self.assertTrue(n in names, "%s is in the exception backtrace (%s)" % (n, names)) - @skipUnlessDarwin def test_objc_exceptions_at_abort(self): self.build() @@ -183,7 +181,6 @@ for n in ["objc_exception_throw", "foo(int)", "rethrow(int)", "main"]: self.assertEqual(len([f for f in history_thread.frames if f.GetFunctionName() == n]), 1) - @skipUnlessDarwin def test_cxx_exceptions_at_abort(self): self.build() diff --git a/lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py b/lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py --- a/lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py +++ b/lldb/test/API/lang/objc/forward-decl/TestForwardDecl.py @@ -54,12 +54,10 @@ self.expect("expression [j getMember]", VARIABLES_DISPLAYED_CORRECTLY, substrs=["= 0x"]) - @skipUnlessDarwin def test_expr(self): self.do_test() @no_debug_info_test - @skipUnlessDarwin @skipIf(compiler=no_match("clang")) @skipIf(compiler_version=["<", "7.0"]) def test_debug_names(self): diff --git a/lldb/test/API/lang/objc/foundation/TestConstStrings.py b/lldb/test/API/lang/objc/foundation/TestConstStrings.py --- a/lldb/test/API/lang/objc/foundation/TestConstStrings.py +++ b/lldb/test/API/lang/objc/foundation/TestConstStrings.py @@ -23,7 +23,6 @@ self.main_source = "const-strings.m" self.line = line_number(self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin def test_break(self): """Test constant string generation amd comparison by the expression parser.""" self.build(dictionary=self.d) diff --git a/lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py b/lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py --- a/lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py +++ b/lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class FoundationDisassembleTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethods.py b/lldb/test/API/lang/objc/foundation/TestObjCMethods.py --- a/lldb/test/API/lang/objc/foundation/TestObjCMethods.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethods.py @@ -16,7 +16,6 @@ file_index = 0 -@skipUnlessDarwin class FoundationTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethods2.py b/lldb/test/API/lang/objc/foundation/TestObjCMethods2.py --- a/lldb/test/API/lang/objc/foundation/TestObjCMethods2.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethods2.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class FoundationTestCase2(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py --- a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSArray.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class FoundationTestCaseNSArray(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py --- a/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethodsNSError.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class FoundationTestCaseNSError(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py b/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py --- a/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py +++ b/lldb/test/API/lang/objc/foundation/TestObjCMethodsString.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class FoundationTestCaseString(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py b/lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py --- a/lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py +++ b/lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py @@ -24,7 +24,6 @@ self.source, '// Set break point at this line.') # rdar://problem/10857337 - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_find_global_variables_then_object_description(self): """Exercise SBTarget.FindGlobalVariables() API.""" diff --git a/lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py b/lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py --- a/lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py +++ b/lldb/test/API/lang/objc/foundation/TestRuntimeTypes.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class RuntimeTypesTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/foundation/TestSymbolTable.py b/lldb/test/API/lang/objc/foundation/TestSymbolTable.py --- a/lldb/test/API/lang/objc/foundation/TestSymbolTable.py +++ b/lldb/test/API/lang/objc/foundation/TestSymbolTable.py @@ -8,7 +8,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class FoundationSymtabTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/global_ptrs/TestGlobalObjects.py b/lldb/test/API/lang/objc/global_ptrs/TestGlobalObjects.py --- a/lldb/test/API/lang/objc/global_ptrs/TestGlobalObjects.py +++ b/lldb/test/API/lang/objc/global_ptrs/TestGlobalObjects.py @@ -17,7 +17,6 @@ TestBase.setUp(self) self.main_source = lldb.SBFileSpec("main.m") - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_with_python_api(self): """Test that a global ObjC object found before the process is started updates correctly.""" diff --git a/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py b/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py --- a/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py +++ b/lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py @@ -26,7 +26,6 @@ # localized self.shlib_names = ["InternalDefiner"] - @skipUnlessDarwin @skipIf( debug_info=no_match("dsym"), bugnumber="This test requires a stripped binary and a dSYM") @@ -38,7 +37,6 @@ self.build() self.expr(True) - @skipUnlessDarwin @skipIfReproducer # FIXME: Unexpected packet during (passive) replay def test_expr(self): if self.getArchitecture() == 'i386': @@ -47,7 +45,6 @@ self.build() self.expr(False) - @skipUnlessDarwin @skipIf( debug_info=no_match("dsym"), bugnumber="This test requires a stripped binary and a dSYM") @@ -58,7 +55,6 @@ self.build() self.frame_var(True) - @skipUnlessDarwin def test_frame_variable(self): if self.getArchitecture() == 'i386': self.skipTest("requires modern objc runtime") @@ -67,7 +63,6 @@ self.frame_var(False) @expectedFailure("rdar://18683637") - @skipUnlessDarwin def test_frame_variable_across_modules(self): if self.getArchitecture() == 'i386': self.skipTest("requires modern objc runtime") diff --git a/lldb/test/API/lang/objc/ivar-IMP/TestObjCiVarIMP.py b/lldb/test/API/lang/objc/ivar-IMP/TestObjCiVarIMP.py --- a/lldb/test/API/lang/objc/ivar-IMP/TestObjCiVarIMP.py +++ b/lldb/test/API/lang/objc/ivar-IMP/TestObjCiVarIMP.py @@ -15,7 +15,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin @skipIf(archs=['i386']) # objc file does not build for i386 @no_debug_info_test def test_imp_ivar_type(self): diff --git a/lldb/test/API/lang/objc/modules-app-update/TestClangModulesAppUpdate.py b/lldb/test/API/lang/objc/modules-app-update/TestClangModulesAppUpdate.py --- a/lldb/test/API/lang/objc/modules-app-update/TestClangModulesAppUpdate.py +++ b/lldb/test/API/lang/objc/modules-app-update/TestClangModulesAppUpdate.py @@ -12,7 +12,6 @@ class TestClangModuleAppUpdate(TestBase): mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin @skipIf(debug_info=no_match(["gmodules"])) def test_rebuild_app_modules_untouched(self): with open(self.getBuildArtifact("module.modulemap"), "w") as f: diff --git a/lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py b/lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py --- a/lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py +++ b/lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py @@ -20,7 +20,6 @@ # Find the line number to break inside main(). self.line = line_number('main.m', '// Set breakpoint 0 here.') - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) def test_expr(self): self.build() diff --git a/lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py b/lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py --- a/lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py +++ b/lldb/test/API/lang/objc/modules-cache/TestClangModulesCache.py @@ -16,7 +16,6 @@ NO_DEBUG_INFO_TESTCASE = True mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_expr(self): self.build() self.main_source_file = lldb.SBFileSpec("main.m") diff --git a/lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py b/lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py --- a/lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py +++ b/lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py @@ -7,7 +7,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test(self): self.build() lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.m")) diff --git a/lldb/test/API/lang/objc/modules-hash-mismatch/TestClangModulesHashMismatch.py b/lldb/test/API/lang/objc/modules-hash-mismatch/TestClangModulesHashMismatch.py --- a/lldb/test/API/lang/objc/modules-hash-mismatch/TestClangModulesHashMismatch.py +++ b/lldb/test/API/lang/objc/modules-hash-mismatch/TestClangModulesHashMismatch.py @@ -12,7 +12,6 @@ class TestClangModuleHashMismatch(TestBase): mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin @skipIf(debug_info=no_match(["gmodules"])) def test_expr(self): with open(self.getBuildArtifact("module.modulemap"), "w") as f: diff --git a/lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py b/lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py --- a/lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py +++ b/lldb/test/API/lang/objc/modules-incomplete/TestIncompleteModules.py @@ -19,7 +19,6 @@ # Find the line number to break inside main(). self.line = line_number('main.m', '// Set breakpoint 0 here.') - @skipUnlessDarwin @skipIf(debug_info=no_match(["gmodules"])) def test_expr(self): self.build() diff --git a/lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py b/lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py --- a/lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py +++ b/lldb/test/API/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py @@ -15,7 +15,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"], debug_info=no_match(["gmodules"])) def test_expr(self): self.build() diff --git a/lldb/test/API/lang/objc/modules-non-objc-target/TestObjCModulesNonObjCTarget.py b/lldb/test/API/lang/objc/modules-non-objc-target/TestObjCModulesNonObjCTarget.py --- a/lldb/test/API/lang/objc/modules-non-objc-target/TestObjCModulesNonObjCTarget.py +++ b/lldb/test/API/lang/objc/modules-non-objc-target/TestObjCModulesNonObjCTarget.py @@ -11,7 +11,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test(self): self.build() lldbutil.run_to_source_breakpoint(self,"// break here", lldb.SBFileSpec("main.c")) diff --git a/lldb/test/API/lang/objc/modules-update/TestClangModulesUpdate.py b/lldb/test/API/lang/objc/modules-update/TestClangModulesUpdate.py --- a/lldb/test/API/lang/objc/modules-update/TestClangModulesUpdate.py +++ b/lldb/test/API/lang/objc/modules-update/TestClangModulesUpdate.py @@ -12,7 +12,6 @@ class TestClangModuleUpdate(TestBase): mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin @skipIf(debug_info=no_match(["gmodules"])) @skipIfReproducer # VFS is a snapshot. def test_expr(self): diff --git a/lldb/test/API/lang/objc/modules/TestObjCModules.py b/lldb/test/API/lang/objc/modules/TestObjCModules.py --- a/lldb/test/API/lang/objc/modules/TestObjCModules.py +++ b/lldb/test/API/lang/objc/modules/TestObjCModules.py @@ -20,7 +20,6 @@ # Find the line number to break inside main(). self.line = line_number('main.m', '// Set breakpoint 0 here.') - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @skipIfReproducer # FIXME: Unexpected packet during (active) replay def test_expr(self): diff --git a/lldb/test/API/lang/objc/objc++/TestObjCXX.py b/lldb/test/API/lang/objc/objc++/TestObjCXX.py --- a/lldb/test/API/lang/objc/objc++/TestObjCXX.py +++ b/lldb/test/API/lang/objc/objc++/TestObjCXX.py @@ -14,7 +14,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_break(self): """Test ivars of Objective-C++ classes""" if self.getArchitecture() == 'i386': diff --git a/lldb/test/API/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py b/lldb/test/API/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py --- a/lldb/test/API/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py +++ b/lldb/test/API/lang/objc/objc-baseclass-sbtype/TestObjCBaseClassSBType.py @@ -20,7 +20,6 @@ self.line = line_number('main.m', '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_get_baseclass(self): """Test fetching ObjC dynamic values.""" diff --git a/lldb/test/API/lang/objc/objc-builtin-types/TestObjCBuiltinTypes.py b/lldb/test/API/lang/objc/objc-builtin-types/TestObjCBuiltinTypes.py --- a/lldb/test/API/lang/objc/objc-builtin-types/TestObjCBuiltinTypes.py +++ b/lldb/test/API/lang/objc/objc-builtin-types/TestObjCBuiltinTypes.py @@ -20,7 +20,6 @@ self.break_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) # [regression] Can't print ivar value: error: reference to 'id' is ambiguous def test_with_python_api(self): diff --git a/lldb/test/API/lang/objc/objc-checker/TestObjCCheckers.py b/lldb/test/API/lang/objc/objc-checker/TestObjCCheckers.py --- a/lldb/test/API/lang/objc/objc-checker/TestObjCCheckers.py +++ b/lldb/test/API/lang/objc/objc-checker/TestObjCCheckers.py @@ -23,7 +23,6 @@ # Find the line number to break for main.c. self.source_name = 'main.m' - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_objc_checker(self): """Test that checkers catch unrecognized selectors""" diff --git a/lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py b/lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py --- a/lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py +++ b/lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py @@ -21,7 +21,6 @@ self.break_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_with_python_api(self): """Test calling functions in class methods.""" diff --git a/lldb/test/API/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py b/lldb/test/API/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py --- a/lldb/test/API/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py +++ b/lldb/test/API/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class ObjCDynamicSBTypeTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py b/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py --- a/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py +++ b/lldb/test/API/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py @@ -29,7 +29,6 @@ self.main_before_setProperty_line = line_number( self.source_name, '// Break here to see if we can step into real method.') - @skipUnlessDarwin @add_test_categories(['pyapi']) @expectedFailureDarwin("llvm.org/pr20271 rdar://18684107") def test_get_objc_dynamic_vals(self): diff --git a/lldb/test/API/lang/objc/objc-foundation-dictionary-empty/TestNSDictionary0.py b/lldb/test/API/lang/objc/objc-foundation-dictionary-empty/TestNSDictionary0.py --- a/lldb/test/API/lang/objc/objc-foundation-dictionary-empty/TestNSDictionary0.py +++ b/lldb/test/API/lang/objc/objc-foundation-dictionary-empty/TestNSDictionary0.py @@ -1,5 +1,3 @@ from lldbsuite.test import lldbinline -from lldbsuite.test import decorators -lldbinline.MakeInlineTest( - __file__, globals(), [decorators.skipUnlessDarwin]) +lldbinline.MakeInlineTest(__file__, globals(), []) diff --git a/lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py b/lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py --- a/lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py +++ b/lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py @@ -20,7 +20,6 @@ self.stop_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_with_python_api(self): """Test printing ObjC objects that use unbacked properties""" diff --git a/lldb/test/API/lang/objc/objc-ivar-protocols/TestIvarProtocols.py b/lldb/test/API/lang/objc/objc-ivar-protocols/TestIvarProtocols.py --- a/lldb/test/API/lang/objc/objc-ivar-protocols/TestIvarProtocols.py +++ b/lldb/test/API/lang/objc/objc-ivar-protocols/TestIvarProtocols.py @@ -1,5 +1,3 @@ from lldbsuite.test import lldbinline -from lldbsuite.test import decorators -lldbinline.MakeInlineTest( - __file__, globals(), [decorators.skipUnlessDarwin]) +lldbinline.MakeInlineTest(__file__, globals(), []) diff --git a/lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py b/lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py --- a/lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py +++ b/lldb/test/API/lang/objc/objc-ivar-stripped/TestObjCIvarStripped.py @@ -20,7 +20,6 @@ self.stop_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @skipIf( debug_info=no_match("dsym"), bugnumber="This test requires a stripped binary and a dSYM") diff --git a/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py b/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py --- a/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py +++ b/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py @@ -11,7 +11,6 @@ class ObjCNewSyntaxTestCaseArray(ObjCNewSyntaxTest): - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_read_array(self): @@ -27,7 +26,6 @@ VARIABLES_DISPLAYED_CORRECTLY, substrs=["foo"]) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_update_array(self): @@ -43,7 +41,6 @@ VARIABLES_DISPLAYED_CORRECTLY, substrs=["bar"]) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_array_literal(self): diff --git a/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py b/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py --- a/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py +++ b/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py @@ -11,7 +11,6 @@ class ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest): - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_read_dictionary(self): @@ -27,7 +26,6 @@ VARIABLES_DISPLAYED_CORRECTLY, substrs=["value"]) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_update_dictionary(self): @@ -43,7 +41,6 @@ VARIABLES_DISPLAYED_CORRECTLY, substrs=["object"]) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_dictionary_literal(self): diff --git a/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py b/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py --- a/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py +++ b/lldb/test/API/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py @@ -11,7 +11,6 @@ class ObjCNewSyntaxTestCaseLiteral(ObjCNewSyntaxTest): - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_char_literal(self): @@ -20,7 +19,6 @@ self.expect("expr --object-description -- @'a'", VARIABLES_DISPLAYED_CORRECTLY, substrs=[str(ord('a'))]) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_integer_literals(self): @@ -51,7 +49,6 @@ VARIABLES_DISPLAYED_CORRECTLY, substrs=["1"]) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_float_literal(self): @@ -60,7 +57,6 @@ self.expect("expr -- @123.45", VARIABLES_DISPLAYED_CORRECTLY, substrs=["NSNumber", "123.45"]) - @skipUnlessDarwin @skipIf(macos_version=["<", "10.12"]) @expectedFailureAll(archs=["i[3-6]86"]) def test_expressions_in_literals(self): diff --git a/lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py b/lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py --- a/lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py +++ b/lldb/test/API/lang/objc/objc-optimized/TestObjcOptimized.py @@ -19,7 +19,6 @@ # test failure: objc_optimized does not work for "-C clang -A i386" -@skipUnlessDarwin class ObjcOptimizedTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/objc-property/TestObjCProperty.py b/lldb/test/API/lang/objc/objc-property/TestObjCProperty.py --- a/lldb/test/API/lang/objc/objc-property/TestObjCProperty.py +++ b/lldb/test/API/lang/objc/objc-property/TestObjCProperty.py @@ -21,7 +21,6 @@ # Find the line number to break for main.c. self.source_name = 'main.m' - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_objc_properties(self): """Test that expr uses the correct property getters and setters""" diff --git a/lldb/test/API/lang/objc/objc-runtime-ivars/TestRuntimeIvars.py b/lldb/test/API/lang/objc/objc-runtime-ivars/TestRuntimeIvars.py --- a/lldb/test/API/lang/objc/objc-runtime-ivars/TestRuntimeIvars.py +++ b/lldb/test/API/lang/objc/objc-runtime-ivars/TestRuntimeIvars.py @@ -3,5 +3,4 @@ lldbinline.MakeInlineTest( __file__, globals(), [ - decorators.skipUnlessDarwin, decorators.skipIf(archs=["i386", "i686"])]) diff --git a/lldb/test/API/lang/objc/objc-static-method-stripped/TestObjCStaticMethodStripped.py b/lldb/test/API/lang/objc/objc-static-method-stripped/TestObjCStaticMethodStripped.py --- a/lldb/test/API/lang/objc/objc-static-method-stripped/TestObjCStaticMethodStripped.py +++ b/lldb/test/API/lang/objc/objc-static-method-stripped/TestObjCStaticMethodStripped.py @@ -20,7 +20,6 @@ self.break_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) @skipIf( debug_info=no_match("dsym"), diff --git a/lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py b/lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py --- a/lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py +++ b/lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py @@ -20,7 +20,6 @@ self.break_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) # "expression" can't call functions in class methods def test_with_python_api(self): diff --git a/lldb/test/API/lang/objc/objc-stepping/TestObjCStepping.py b/lldb/test/API/lang/objc/objc-stepping/TestObjCStepping.py --- a/lldb/test/API/lang/objc/objc-stepping/TestObjCStepping.py +++ b/lldb/test/API/lang/objc/objc-stepping/TestObjCStepping.py @@ -29,7 +29,6 @@ self.stepped_past_nil_line = line_number( self.main_source, '// Step over nil should stop here.') - @skipUnlessDarwin @add_test_categories(['pyapi', 'basic_process']) def test_with_python_api(self): """Test stepping through ObjC method dispatch in various forms.""" diff --git a/lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py b/lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py --- a/lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py +++ b/lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py @@ -20,7 +20,6 @@ self.break_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) @skipIf(debug_info=no_match(["gmodules"]), oslist=['ios', 'watchos', 'tvos', 'bridgeos'], archs=['armv7', 'arm64']) # this test program only builds for ios with -gmodules def test_with_python_api(self): diff --git a/lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py b/lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py --- a/lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py +++ b/lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py @@ -20,7 +20,6 @@ self.break_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_with_python_api(self): """Test calling functions in class methods.""" diff --git a/lldb/test/API/lang/objc/objc-super/TestObjCSuper.py b/lldb/test/API/lang/objc/objc-super/TestObjCSuper.py --- a/lldb/test/API/lang/objc/objc-super/TestObjCSuper.py +++ b/lldb/test/API/lang/objc/objc-super/TestObjCSuper.py @@ -20,7 +20,6 @@ self.break_line = line_number( self.main_source, '// Set breakpoint here.') - @skipUnlessDarwin @add_test_categories(['pyapi']) def test_with_python_api(self): """Test calling methods on super.""" diff --git a/lldb/test/API/lang/objc/objc_direct-methods/TestObjCDirectMethods.py b/lldb/test/API/lang/objc/objc_direct-methods/TestObjCDirectMethods.py --- a/lldb/test/API/lang/objc/objc_direct-methods/TestObjCDirectMethods.py +++ b/lldb/test/API/lang/objc/objc_direct-methods/TestObjCDirectMethods.py @@ -1,5 +1,4 @@ from lldbsuite.test import lldbinline -from lldbsuite.test import decorators lldbinline.MakeInlineTest( - __file__, globals(), [decorators.skipUnlessDarwin]) + __file__, globals(), []) diff --git a/lldb/test/API/lang/objc/orderedset/TestOrderedSet.py b/lldb/test/API/lang/objc/orderedset/TestOrderedSet.py --- a/lldb/test/API/lang/objc/orderedset/TestOrderedSet.py +++ b/lldb/test/API/lang/objc/orderedset/TestOrderedSet.py @@ -6,7 +6,6 @@ class TestOrderedSet(TestBase): mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_ordered_set(self): self.build() src_file = "main.m" diff --git a/lldb/test/API/lang/objc/print-obj/TestPrintObj.py b/lldb/test/API/lang/objc/print-obj/TestPrintObj.py --- a/lldb/test/API/lang/objc/print-obj/TestPrintObj.py +++ b/lldb/test/API/lang/objc/print-obj/TestPrintObj.py @@ -11,7 +11,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class PrintObjTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py b/lldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py --- a/lldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py +++ b/lldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py @@ -14,7 +14,6 @@ mydir = TestBase.compute_mydir(__file__) @skipIfAsan # The output looks different under ASAN. - @skipUnlessDarwin def test_ptr_refs(self): """Test the ptr_refs tool on Darwin with Objective-C""" self.build() diff --git a/lldb/test/API/lang/objc/radar-9691614/TestObjCMethodReturningBOOL.py b/lldb/test/API/lang/objc/radar-9691614/TestObjCMethodReturningBOOL.py --- a/lldb/test/API/lang/objc/radar-9691614/TestObjCMethodReturningBOOL.py +++ b/lldb/test/API/lang/objc/radar-9691614/TestObjCMethodReturningBOOL.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class MethodReturningBOOLTestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/rdar-10967107/TestRdar10967107.py b/lldb/test/API/lang/objc/rdar-10967107/TestRdar10967107.py --- a/lldb/test/API/lang/objc/rdar-10967107/TestRdar10967107.py +++ b/lldb/test/API/lang/objc/rdar-10967107/TestRdar10967107.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class Rdar10967107TestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/rdar-11355592/TestRdar11355592.py b/lldb/test/API/lang/objc/rdar-11355592/TestRdar11355592.py --- a/lldb/test/API/lang/objc/rdar-11355592/TestRdar11355592.py +++ b/lldb/test/API/lang/objc/rdar-11355592/TestRdar11355592.py @@ -10,7 +10,6 @@ from lldbsuite.test import lldbutil -@skipUnlessDarwin class Rdar10967107TestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py b/lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py --- a/lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py +++ b/lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py @@ -15,7 +15,6 @@ # test if WindowServer isn't available. # Note: Simply applying the @skipIf decorator here confuses the test harness # and gives a spurious failure. -@skipUnlessDarwin class Rdar12408181TestCase(TestBase): mydir = TestBase.compute_mydir(__file__) diff --git a/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py b/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py --- a/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py +++ b/lldb/test/API/lang/objc/real-definition/TestRealDefinition.py @@ -12,7 +12,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_frame_var_after_stop_at_interface(self): """Test that we can find the implementation for an objective C type""" if self.getArchitecture() == 'i386': @@ -50,7 +49,6 @@ "(NSString *)", "foo->_bar->_hidden_ivar = 0x"]) - @skipUnlessDarwin def test_frame_var_after_stop_at_implementation(self): """Test that we can find the implementation for an objective C type""" if self.getArchitecture() == 'i386': diff --git a/lldb/test/API/lang/objc/self/TestObjCSelf.py b/lldb/test/API/lang/objc/self/TestObjCSelf.py --- a/lldb/test/API/lang/objc/self/TestObjCSelf.py +++ b/lldb/test/API/lang/objc/self/TestObjCSelf.py @@ -11,7 +11,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_with_run_command(self): """Test that the appropriate member variables are available when stopped in Objective-C class and instance methods""" self.build() diff --git a/lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py b/lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py --- a/lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py +++ b/lldb/test/API/lang/objc/single-entry-dictionary/TestObjCSingleEntryDictionary.py @@ -21,7 +21,6 @@ # Find the line number to break inside main(). self.line = line_number('main.m', '// break here') - @skipUnlessDarwin @expectedFailureAll(oslist=['watchos'], bugnumber="rdar://problem/34642736") # bug in NSDictionary formatting on watchos def test_single_entry_dict(self): self.build() diff --git a/lldb/test/API/lang/objc/unicode-string/TestUnicodeString.py b/lldb/test/API/lang/objc/unicode-string/TestUnicodeString.py --- a/lldb/test/API/lang/objc/unicode-string/TestUnicodeString.py +++ b/lldb/test/API/lang/objc/unicode-string/TestUnicodeString.py @@ -1,6 +1,4 @@ from lldbsuite.test import lldbinline -from lldbsuite.test import decorators lldbinline.MakeInlineTest( - __file__, globals(), [ - decorators.skipUnlessDarwin]) + __file__, globals(), []) diff --git a/lldb/test/API/lang/objc/variadic_methods/TestVariadicMethods.py b/lldb/test/API/lang/objc/variadic_methods/TestVariadicMethods.py --- a/lldb/test/API/lang/objc/variadic_methods/TestVariadicMethods.py +++ b/lldb/test/API/lang/objc/variadic_methods/TestVariadicMethods.py @@ -1,5 +1,3 @@ from lldbsuite.test import lldbinline -from lldbsuite.test import decorators -lldbinline.MakeInlineTest( - __file__, globals(), [decorators.skipUnlessDarwin]) +lldbinline.MakeInlineTest(__file__, globals(), []) diff --git a/lldb/test/API/lang/objcxx/.categories b/lldb/test/API/lang/objcxx/.categories new file mode 100644 --- /dev/null +++ b/lldb/test/API/lang/objcxx/.categories @@ -0,0 +1 @@ +objc diff --git a/lldb/test/API/lang/objcxx/class-name-clash/TestNameClash.py b/lldb/test/API/lang/objcxx/class-name-clash/TestNameClash.py --- a/lldb/test/API/lang/objcxx/class-name-clash/TestNameClash.py +++ b/lldb/test/API/lang/objcxx/class-name-clash/TestNameClash.py @@ -1,5 +1,4 @@ from lldbsuite.test import decorators from lldbsuite.test import lldbinline -lldbinline.MakeInlineTest( - __file__, globals(), [decorators.skipUnlessDarwin]) +lldbinline.MakeInlineTest(__file__, globals(), []) diff --git a/lldb/test/API/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py b/lldb/test/API/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py --- a/lldb/test/API/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py +++ b/lldb/test/API/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py @@ -7,7 +7,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_bridged_type_po(self): self.build() lldbutil.run_to_source_breakpoint( diff --git a/lldb/test/API/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py b/lldb/test/API/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py --- a/lldb/test/API/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py +++ b/lldb/test/API/lang/objcxx/hide-runtime-values/TestObjCXXHideRuntimeValues.py @@ -9,7 +9,6 @@ mydir = TestBase.compute_mydir(__file__) - @skipUnlessDarwin def test_hide_runtime_support_values(self): self.build() _, process, _, _ = lldbutil.run_to_source_breakpoint( diff --git a/lldb/test/API/lang/objcxx/objcxx-ivar-vector/TestIvarVector.py b/lldb/test/API/lang/objcxx/objcxx-ivar-vector/TestIvarVector.py --- a/lldb/test/API/lang/objcxx/objcxx-ivar-vector/TestIvarVector.py +++ b/lldb/test/API/lang/objcxx/objcxx-ivar-vector/TestIvarVector.py @@ -1,5 +1,4 @@ from lldbsuite.test import decorators from lldbsuite.test import lldbinline -lldbinline.MakeInlineTest( - __file__, globals(), [decorators.skipUnlessDarwin]) +lldbinline.MakeInlineTest(__file__, globals(), []) diff --git a/lldb/test/API/macosx/nslog/.categories b/lldb/test/API/macosx/nslog/.categories new file mode 100644 --- /dev/null +++ b/lldb/test/API/macosx/nslog/.categories @@ -0,0 +1 @@ +objc diff --git a/lldb/test/API/python_api/objc_type/TestObjCType.py b/lldb/test/API/python_api/objc_type/TestObjCType.py --- a/lldb/test/API/python_api/objc_type/TestObjCType.py +++ b/lldb/test/API/python_api/objc_type/TestObjCType.py @@ -19,8 +19,7 @@ TestBase.setUp(self) self.line = line_number("main.m", '// Break at this line') - @skipUnlessDarwin - @add_test_categories(['pyapi']) + @add_test_categories(['objc', 'pyapi']) def test(self): """Test SBType for ObjC classes.""" self.build() diff --git a/lldb/test/API/python_api/sbtype_typeclass/TestSBTypeTypeClass.py b/lldb/test/API/python_api/sbtype_typeclass/TestSBTypeTypeClass.py --- a/lldb/test/API/python_api/sbtype_typeclass/TestSBTypeTypeClass.py +++ b/lldb/test/API/python_api/sbtype_typeclass/TestSBTypeTypeClass.py @@ -3,7 +3,7 @@ lldbinline.MakeInlineTest( __file__, globals(), [ - decorators.skipUnlessDarwin, + decorators.add_test_categories(["objc"]), decorators.expectedFailureAll( oslist=['macosx'], archs=['i386'], bugnumber='rdar://28656677')])