[Lldb-commits] [lldb] r357824 - [testsuite] Split Objective-C new syntax test
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Fri Apr 5 15:06:53 PDT 2019
Author: jdevlieghere
Date: Fri Apr 5 15:06:53 2019
New Revision: 357824
URL: http://llvm.org/viewvc/llvm-project?rev=357824&view=rev
Log:
[testsuite] Split Objective-C new syntax test
This splits the second longest test into separate test cases. Similar to
what we did for the Objective-C data formatters in r357786.
Added:
lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py
lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py
lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py
lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py
Removed:
lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py
Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py?rev=357824&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/ObjCNewSyntaxTest.py Fri Apr 5 15:06:53 2019
@@ -0,0 +1,29 @@
+"""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
+
+
+class ObjCNewSyntaxTest(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def runToBreakpoint(self):
+ self.build()
+ self.target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
+ self, '// Set breakpoint 0 here.', lldb.SBFileSpec(
+ 'main.m', False))
+
+ # The stop reason of the thread should be breakpoint.
+ self.expect(
+ "thread list",
+ STOPPED_DUE_TO_BREAKPOINT,
+ substrs=['stopped', 'stop reason = breakpoint'])
+
+ # The breakpoint should have a hit count of 1.
+ self.expect(
+ "breakpoint list -f",
+ BREAKPOINT_HIT_ONCE,
+ substrs=[' resolved, hit count = 1'])
Removed: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py?rev=357823&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntax.py (removed)
@@ -1,204 +0,0 @@
-"""Test that the Objective-C syntax for dictionary/array literals and indexing works"""
-
-from __future__ import print_function
-
-
-import unittest2
-import os
-import time
-import platform
-
-from distutils.version import StrictVersion
-
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class ObjCNewSyntaxTestCase(TestBase):
-
- mydir = TestBase.compute_mydir(__file__)
-
- def setUp(self):
- # Call super's setUp().
- TestBase.setUp(self)
- # Find the line number to break inside main().
- self.line = line_number('main.m', '// Set breakpoint 0 here.')
-
- def runToBreakpoint(self):
- self.build()
- exe = self.getBuildArtifact("a.out")
- self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
-
- # Break inside the foo function which takes a bar_ptr argument.
- lldbutil.run_break_set_by_file_and_line(
- self, "main.m", self.line, num_expected_locations=1, loc_exact=True)
-
- self.runCmd("run", RUN_SUCCEEDED)
-
- # The stop reason of the thread should be breakpoint.
- self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT,
- substrs=['stopped',
- 'stop reason = breakpoint'])
-
- # The breakpoint should have a hit count of 1.
- self.expect("breakpoint list -f", BREAKPOINT_HIT_ONCE,
- substrs=[' resolved, hit count = 1'])
-
- @skipUnlessDarwin
- @skipIf(macos_version=["<", "10.12"])
- @expectedFailureAll(archs=["i[3-6]86"])
- def test_read_array(self):
- self.runToBreakpoint()
-
- self.expect(
- "expr --object-description -- immutable_array[0]",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["foo"])
-
- self.expect(
- "expr --object-description -- mutable_array[0]",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["foo"])
-
- @skipUnlessDarwin
- @skipIf(macos_version=["<", "10.12"])
- @expectedFailureAll(archs=["i[3-6]86"])
- def test_update_array(self):
- self.runToBreakpoint()
-
- self.expect(
- "expr --object-description -- mutable_array[0] = @\"bar\"",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["bar"])
-
- self.expect(
- "expr --object-description -- mutable_array[0]",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["bar"])
-
- @skipUnlessDarwin
- @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"])
-
- @skipUnlessDarwin
- @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"])
-
- @skipUnlessDarwin
- @skipIf(macos_version=["<", "10.12"])
- @expectedFailureAll(archs=["i[3-6]86"])
- def test_array_literal(self):
- self.runToBreakpoint()
-
- self.expect(
- "expr --object-description -- @[ @\"foo\", @\"bar\" ]",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=[
- "NSArray",
- "foo",
- "bar"])
-
- @skipUnlessDarwin
- @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"])
-
- @skipUnlessDarwin
- @skipIf(macos_version=["<", "10.12"])
- @expectedFailureAll(archs=["i[3-6]86"])
- def test_char_literal(self):
- self.runToBreakpoint()
-
- 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):
- self.runToBreakpoint()
-
- self.expect(
- "expr --object-description -- @1",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["1"])
-
- self.expect(
- "expr --object-description -- @1l",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["1"])
-
- self.expect(
- "expr --object-description -- @1ul",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["1"])
-
- self.expect(
- "expr --object-description -- @1ll",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["1"])
-
- self.expect(
- "expr --object-description -- @1ull",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["1"])
-
- @skipUnlessDarwin
- @skipIf(macos_version=["<", "10.12"])
- @expectedFailureAll(archs=["i[3-6]86"])
- def test_float_literal(self):
- self.runToBreakpoint()
-
- 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):
- self.runToBreakpoint()
-
- self.expect(
- "expr --object-description -- @( 1 + 3 )",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=["4"])
- self.expect(
- "expr -- @((char*)\"Hello world\" + 6)",
- VARIABLES_DISPLAYED_CORRECTLY,
- substrs=[
- "NSString",
- "world"])
Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py?rev=357824&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxArray.py Fri Apr 5 15:06:53 2019
@@ -0,0 +1,59 @@
+"""Test that the Objective-C syntax for dictionary/array literals and indexing works"""
+
+from __future__ import print_function
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+from ObjCNewSyntaxTest import ObjCNewSyntaxTest
+
+
+class ObjCNewSyntaxTestCaseArray(ObjCNewSyntaxTest):
+
+ @skipUnlessDarwin
+ @skipIf(macos_version=["<", "10.12"])
+ @expectedFailureAll(archs=["i[3-6]86"])
+ def test_read_array(self):
+ self.runToBreakpoint()
+
+ self.expect(
+ "expr --object-description -- immutable_array[0]",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["foo"])
+
+ self.expect(
+ "expr --object-description -- mutable_array[0]",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["foo"])
+
+ @skipUnlessDarwin
+ @skipIf(macos_version=["<", "10.12"])
+ @expectedFailureAll(archs=["i[3-6]86"])
+ def test_update_array(self):
+ self.runToBreakpoint()
+
+ self.expect(
+ "expr --object-description -- mutable_array[0] = @\"bar\"",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["bar"])
+
+ self.expect(
+ "expr --object-description -- mutable_array[0]",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["bar"])
+
+ @skipUnlessDarwin
+ @skipIf(macos_version=["<", "10.12"])
+ @expectedFailureAll(archs=["i[3-6]86"])
+ def test_array_literal(self):
+ self.runToBreakpoint()
+
+ self.expect(
+ "expr --object-description -- @[ @\"foo\", @\"bar\" ]",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=[
+ "NSArray",
+ "foo",
+ "bar"])
Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py?rev=357824&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxDictionary.py Fri Apr 5 15:06:53 2019
@@ -0,0 +1,58 @@
+"""Test that the Objective-C syntax for dictionary/array literals and indexing works"""
+
+from __future__ import print_function
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+from ObjCNewSyntaxTest import ObjCNewSyntaxTest
+
+
+class ObjCNewSyntaxTestCaseDictionary(ObjCNewSyntaxTest):
+
+ @skipUnlessDarwin
+ @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"])
+
+ @skipUnlessDarwin
+ @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"])
+
+ @skipUnlessDarwin
+ @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"])
Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py?rev=357824&view=auto
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py (added)
+++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/objc-new-syntax/TestObjCNewSyntaxLiteral.py Fri Apr 5 15:06:53 2019
@@ -0,0 +1,79 @@
+"""Test that the Objective-C syntax for dictionary/array literals and indexing works"""
+
+from __future__ import print_function
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+from ObjCNewSyntaxTest import ObjCNewSyntaxTest
+
+
+class ObjCNewSyntaxTestCaseLiteral(ObjCNewSyntaxTest):
+
+ @skipUnlessDarwin
+ @skipIf(macos_version=["<", "10.12"])
+ @expectedFailureAll(archs=["i[3-6]86"])
+ def test_char_literal(self):
+ self.runToBreakpoint()
+
+ 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):
+ self.runToBreakpoint()
+
+ self.expect(
+ "expr --object-description -- @1",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["1"])
+
+ self.expect(
+ "expr --object-description -- @1l",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["1"])
+
+ self.expect(
+ "expr --object-description -- @1ul",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["1"])
+
+ self.expect(
+ "expr --object-description -- @1ll",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["1"])
+
+ self.expect(
+ "expr --object-description -- @1ull",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["1"])
+
+ @skipUnlessDarwin
+ @skipIf(macos_version=["<", "10.12"])
+ @expectedFailureAll(archs=["i[3-6]86"])
+ def test_float_literal(self):
+ self.runToBreakpoint()
+
+ 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):
+ self.runToBreakpoint()
+
+ self.expect(
+ "expr --object-description -- @( 1 + 3 )",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=["4"])
+ self.expect(
+ "expr -- @((char*)\"Hello world\" + 6)",
+ VARIABLES_DISPLAYED_CORRECTLY,
+ substrs=[
+ "NSString",
+ "world"])
More information about the lldb-commits
mailing list