summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2019-09-01 09:12:37 +0000
committerRaphael Isemann <teemperor@gmail.com>2019-09-01 09:12:37 +0000
commit29872606d220420d53fde7cc5e3bea15f8da62e7 (patch)
tree47d7a82ccea48a6dd10a2d8ecb6b3c3127724131 /lldb/packages/Python/lldbsuite/test/expression_command/issue_11588
parentadfdcb9c2652aeee585b9005fd6c67be06af8ea9 (diff)
downloadbcm5719-llvm-29872606d220420d53fde7cc5e3bea15f8da62e7.tar.gz
bcm5719-llvm-29872606d220420d53fde7cc5e3bea15f8da62e7.zip
[lldb] Restructure test folders to match LLDB command hierarchy
Summary: As discussed on lldb-dev, this patch moves some LLDB tests into a hierarchy that more closely resembles the commands we use in the LLDB interpreter. This patch should only move tests that use the command interpreter and shouldn't touch any tests that primarily test the SB API. Reviewers: #lldb, jfb, JDevlieghere Reviewed By: #lldb, JDevlieghere Subscribers: dexonsmith, arphaman, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D67033 llvm-svn: 370605
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/issue_11588')
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Makefile5
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py67
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/main.cpp54
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/s11588.py28
4 files changed, 0 insertions, 154 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Makefile b/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Makefile
deleted file mode 100644
index 8a7102e347a..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-LEVEL = ../../make
-
-CXX_SOURCES := main.cpp
-
-include $(LEVEL)/Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py b/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py
deleted file mode 100644
index 2c20b63cfd9..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/Test11588.py
+++ /dev/null
@@ -1,67 +0,0 @@
-"""
-Test the solution to issue 11581.
-valobj.AddressOf() returns None when an address is
-expected in a SyntheticChildrenProvider
-"""
-
-from __future__ import print_function
-
-
-import lldb
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class Issue11581TestCase(TestBase):
-
- mydir = TestBase.compute_mydir(__file__)
-
- @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778")
- def test_11581_commands(self):
- # This is the function to remove the custom commands in order to have a
- # clean slate for the next test case.
- def cleanup():
- self.runCmd('type synthetic clear', check=False)
-
- # Execute the cleanup function during test case tear down.
- self.addTearDownHook(cleanup)
-
- """valobj.AddressOf() should return correct values."""
- self.build()
-
- (target, process, thread, bkpt) = lldbutil.run_to_source_breakpoint(self,
- 'Set breakpoint here.',
- lldb.SBFileSpec("main.cpp", False))
- self.runCmd("command script import --allow-reload s11588.py")
- self.runCmd(
- "type synthetic add --python-class s11588.Issue11581SyntheticProvider StgClosure")
-
- self.expect("expr --show-types -- *((StgClosure*)(r14-1))",
- substrs=["(StgClosure) $",
- "(StgClosure *) &$", "0x",
- "addr = ",
- "load_address = "])
-
- # register r14 is an x86_64 extension let's skip this part of the test
- # if we are on a different architecture
- if self.getArchitecture() == 'x86_64':
- target = self.dbg.GetSelectedTarget()
- process = target.GetProcess()
- frame = process.GetSelectedThread().GetSelectedFrame()
- pointer = frame.FindVariable("r14")
- addr = pointer.GetValueAsUnsigned(0)
- self.assertTrue(addr != 0, "could not read pointer to StgClosure")
- addr = addr - 1
- self.runCmd("register write r14 %d" % addr)
- self.expect(
- "register read r14", substrs=[
- "0x", hex(addr)[
- 2:].rstrip("L")]) # Remove trailing 'L' if it exists
- self.expect("expr --show-types -- *(StgClosure*)$r14",
- substrs=["(StgClosure) $",
- "(StgClosure *) &$", "0x",
- "addr = ",
- "load_address = ",
- hex(addr)[2:].rstrip("L"),
- str(addr)])
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/main.cpp b/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/main.cpp
deleted file mode 100644
index 4f9ea3abf18..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/main.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// 11588.cpp
-//
-
-#include <iostream>
-
-class StgInfoTable {};
-
-class StgHeader
-{
-private:
- StgInfoTable* info;
-public:
- StgHeader()
- {
- info = new StgInfoTable();
- }
- ~StgHeader()
- {
- delete info;
- }
-};
-
-class StgClosure
-{
-private:
- StgHeader header;
- StgClosure* payload[1];
-public:
- StgClosure(bool make_payload = true)
- {
- if (make_payload)
- payload[0] = new StgClosure(false);
- else
- payload[0] = NULL;
- }
- ~StgClosure()
- {
- if (payload[0])
- delete payload[0];
- }
-};
-
-typedef unsigned long long int ptr_type;
-
-int main()
-{
- StgClosure* r14_ = new StgClosure();
- r14_ = (StgClosure*)(((ptr_type)r14_ | 0x01)); // set the LSB to 1 for tagging
- ptr_type r14 = (ptr_type)r14_;
- int x = 0;
- x = 3;
- return (x-1); // Set breakpoint here.
-}
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/s11588.py b/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/s11588.py
deleted file mode 100644
index 51c20423ed3..00000000000
--- a/lldb/packages/Python/lldbsuite/test/expression_command/issue_11588/s11588.py
+++ /dev/null
@@ -1,28 +0,0 @@
-class Issue11581SyntheticProvider(object):
-
- def __init__(self, valobj, dict):
- self.valobj = valobj
- self.addrOf = valobj.AddressOf()
- self.addr = valobj.GetAddress()
- self.load_address = valobj.GetLoadAddress()
-
- def num_children(self):
- return 3
-
- def get_child_at_index(self, index):
- if index == 0:
- return self.addrOf
- if index == 1:
- return self.valobj.CreateValueFromExpression(
- "addr", str(self.addr))
- if index == 2:
- return self.valobj.CreateValueFromExpression(
- "load_address", str(self.load_address))
-
- def get_child_index(self, name):
- if name == "addrOf":
- return 0
- if name == "addr":
- return 1
- if name == "load_address":
- return 2
OpenPOWER on IntegriCloud