summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/expression_command/top-level
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/expression_command/top-level')
-rw-r--r--packages/Python/lldbsuite/test/expression_command/top-level/Makefile13
-rw-r--r--packages/Python/lldbsuite/test/expression_command/top-level/TestTopLevelExprs.py17
-rw-r--r--packages/Python/lldbsuite/test/expression_command/top-level/dummy.cpp16
-rw-r--r--packages/Python/lldbsuite/test/expression_command/top-level/dummy.mk6
4 files changed, 25 insertions, 27 deletions
diff --git a/packages/Python/lldbsuite/test/expression_command/top-level/Makefile b/packages/Python/lldbsuite/test/expression_command/top-level/Makefile
index 7146f227b98ab..48eec5c5d2683 100644
--- a/packages/Python/lldbsuite/test/expression_command/top-level/Makefile
+++ b/packages/Python/lldbsuite/test/expression_command/top-level/Makefile
@@ -1,12 +1,13 @@
LEVEL = ../../make
-default: a.out dummy
-
CXX_SOURCES := main.cpp test.cpp
-dummy: dummy.cpp
+include $(LEVEL)/Makefile.rules
-clean::
- rm -rf dummy dummy.dSYM
+a.out: dummy
-include $(LEVEL)/Makefile.rules
+dummy:
+ $(MAKE) -f dummy.mk
+
+clean::
+ $(MAKE) -f dummy.mk clean
diff --git a/packages/Python/lldbsuite/test/expression_command/top-level/TestTopLevelExprs.py b/packages/Python/lldbsuite/test/expression_command/top-level/TestTopLevelExprs.py
index 137c403988707..dfe95a1a9fa7a 100644
--- a/packages/Python/lldbsuite/test/expression_command/top-level/TestTopLevelExprs.py
+++ b/packages/Python/lldbsuite/test/expression_command/top-level/TestTopLevelExprs.py
@@ -57,23 +57,6 @@ class TopLevelExpressionsTestCase(TestBase):
self.runCmd("run", RUN_SUCCEEDED)
@add_test_categories(['pyapi'])
- @expectedFailureAndroid(api_levels=[21, 22], bugnumber="llvm.org/pr27787")
- @expectedFailureAll(
- oslist=["linux"],
- archs=[
- "arm",
- "aarch64"],
- bugnumber="llvm.org/pr27787")
- @expectedFailureAll(
- bugnumber="llvm.org/pr28353",
- oslist=["linux"],
- archs=[
- "i386",
- "x86_64"],
- compiler="gcc",
- compiler_version=[
- "<",
- "4.9"])
@skipIf(debug_info="gmodules") # not relevant
@skipIf(oslist=["windows"]) # Error in record layout on Windows
def test_top_level_expressions(self):
diff --git a/packages/Python/lldbsuite/test/expression_command/top-level/dummy.cpp b/packages/Python/lldbsuite/test/expression_command/top-level/dummy.cpp
index 31204b21d972a..fa49bd4bda7e3 100644
--- a/packages/Python/lldbsuite/test/expression_command/top-level/dummy.cpp
+++ b/packages/Python/lldbsuite/test/expression_command/top-level/dummy.cpp
@@ -1,7 +1,15 @@
#include <stdio.h>
-int main()
-{
- printf("This is a dummy\n"); // Set breakpoint here
- return 0;
+// These are needed to make sure that the linker does not strip the parts of the
+// C++ abi library that are necessary to execute the expressions in the
+// debugger. It would be great if we did not need to do this, but the fact that
+// LLDB cannot conjure up the abi library on demand is not relevant for testing
+// top level expressions.
+struct DummyA {};
+struct DummyB : public virtual DummyA {};
+
+int main() {
+ DummyB b;
+ printf("This is a dummy\n"); // Set breakpoint here
+ return 0;
}
diff --git a/packages/Python/lldbsuite/test/expression_command/top-level/dummy.mk b/packages/Python/lldbsuite/test/expression_command/top-level/dummy.mk
new file mode 100644
index 0000000000000..af97678b2cf53
--- /dev/null
+++ b/packages/Python/lldbsuite/test/expression_command/top-level/dummy.mk
@@ -0,0 +1,6 @@
+LEVEL = ../../make
+
+CXX_SOURCES := dummy.cpp
+EXE := dummy
+
+include $(LEVEL)/Makefile.rules