Michael137 created this revision.
Michael137 added a reviewer: aprantl.
Herald added a project: All.
Michael137 requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
This is in preparation for adding more gmodules
tests.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D133876
Files:
lldb/test/API/lang/cpp/gmodules-templates/TestGModules.py
lldb/test/API/lang/cpp/gmodules-templates/a.h
lldb/test/API/lang/cpp/gmodules-templates/b.h
lldb/test/API/lang/cpp/gmodules-templates/main.cpp
lldb/test/API/lang/cpp/gmodules-templates/memory.h
lldb/test/API/lang/cpp/gmodules-templates/module.modulemap
lldb/test/API/lang/cpp/gmodules/Makefile
lldb/test/API/lang/cpp/gmodules/TestWithModuleDebugging.py
lldb/test/API/lang/cpp/gmodules/basic/Makefile
lldb/test/API/lang/cpp/gmodules/basic/TestWithModuleDebugging.py
lldb/test/API/lang/cpp/gmodules/basic/main.cpp
lldb/test/API/lang/cpp/gmodules/basic/pch.h
lldb/test/API/lang/cpp/gmodules/main.cpp
lldb/test/API/lang/cpp/gmodules/pch.h
lldb/test/API/lang/cpp/gmodules/templates/TestGModules.py
lldb/test/API/lang/cpp/gmodules/templates/a.h
lldb/test/API/lang/cpp/gmodules/templates/b.h
lldb/test/API/lang/cpp/gmodules/templates/main.cpp
lldb/test/API/lang/cpp/gmodules/templates/memory.h
lldb/test/API/lang/cpp/gmodules/templates/module.modulemap
Index: lldb/test/API/lang/cpp/gmodules-templates/module.modulemap
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules-templates/module.modulemap
@@ -1,11 +0,0 @@
-module A {
- header "a.h"
-}
-
-module B {
- header "b.h"
-}
-
-module std {
- header "memory.h"
-}
Index: lldb/test/API/lang/cpp/gmodules-templates/memory.h
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules-templates/memory.h
@@ -1,8 +0,0 @@
-#ifndef MEMORY_H
-#define MEMORY_H
-namespace my_std {
- template<class T> class unique_ptr {
- T t;
- };
-}
-#endif
Index: lldb/test/API/lang/cpp/gmodules-templates/main.cpp
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules-templates/main.cpp
@@ -1,9 +0,0 @@
-#include "b.h"
-
-int main(int argc, const char * argv[])
-{
- Module m;
- // Test that the type Module which contains a field that is a
- // template instantiation can be fully resolved.
- return 0; //% self.assertTrue(self.frame().FindVariable('m').GetChildAtIndex(0).GetChildAtIndex(0).GetChildAtIndex(0).GetName() == 'buffer', 'find template specializations in imported modules')
-}
Index: lldb/test/API/lang/cpp/gmodules-templates/b.h
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules-templates/b.h
@@ -1,6 +0,0 @@
-#include "a.h"
-#include "memory.h"
-
-class Module {
- my_std::unique_ptr<MemoryBuffer> MBptr;
-};
Index: lldb/test/API/lang/cpp/gmodules-templates/a.h
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules-templates/a.h
@@ -1,7 +0,0 @@
-#include "memory.h"
-
-class MemoryBuffer { int buffer = 42; };
-
-struct SrcBuffer {
- my_std::unique_ptr<MemoryBuffer> Buffer;
-};
Index: lldb/test/API/lang/cpp/gmodules-templates/TestGModules.py
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules-templates/TestGModules.py
@@ -1,6 +0,0 @@
-import lldbsuite.test.lldbinline as lldbinline
-from lldbsuite.test.decorators import *
-
-lldbinline.MakeInlineTest(__file__, globals(), [
- expectedFailureAll(oslist=["linux"], bugnumber="llvm.org/pr36107",
- debug_info="gmodules")])
Index: lldb/test/API/lang/cpp/gmodules/pch.h
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules/pch.h
@@ -1,17 +0,0 @@
-template<typename T>
-class GenericContainer {
- private:
- T storage;
-
- public:
- GenericContainer(T value) {
- storage = value;
- };
-};
-
-typedef GenericContainer<int> IntContainer;
-
-struct Foo {
- class Bar;
- Bar *bar;
-};
Index: lldb/test/API/lang/cpp/gmodules/main.cpp
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules/main.cpp
@@ -1,8 +0,0 @@
-class Foo::Bar { int i = 123; };
-
-int main(int argc, const char * argv[])
-{
- IntContainer test(42);
- Foo::Bar bar;
- return 0; // break here
-}
Index: lldb/test/API/lang/cpp/gmodules/TestWithModuleDebugging.py
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules/TestWithModuleDebugging.py
@@ -1,92 +0,0 @@
-import lldb
-import os
-from lldbsuite.test.decorators import *
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test import lldbutil
-
-
-class TestWithGmodulesDebugInfo(TestBase):
-
- @skipIf(bugnumber="llvm.org/pr36146", oslist=["linux"], archs=["i386"])
- @add_test_categories(["gmodules"])
- def test_specialized_typedef_from_pch(self):
- self.build()
-
- src_file = os.path.join(self.getSourceDir(), "main.cpp")
- src_file_spec = lldb.SBFileSpec(src_file)
- self.assertTrue(src_file_spec.IsValid(), "breakpoint file")
-
- # Get the path of the executable
- exe_path = self.getBuildArtifact("a.out")
-
- # Load the executable
- target = self.dbg.CreateTarget(exe_path)
- self.assertTrue(target.IsValid(), VALID_TARGET)
-
- # Break on interesting line
- breakpoint = target.BreakpointCreateBySourceRegex(
- "break here", src_file_spec)
- self.assertTrue(
- breakpoint.IsValid() and breakpoint.GetNumLocations() >= 1,
- VALID_BREAKPOINT)
-
- # Launch the process
- process = target.LaunchSimple(
- None, None, self.get_process_working_directory())
- self.assertTrue(process.IsValid(), PROCESS_IS_VALID)
-
- # Get the thread of the process
- self.assertState(process.GetState(), lldb.eStateStopped)
- thread = lldbutil.get_stopped_thread(
- process, lldb.eStopReasonBreakpoint)
- self.assertTrue(
- thread.IsValid(),
- "There should be a thread stopped due to breakpoint condition")
-
- # Get frame for current thread
- frame = thread.frames[0]
-
- testValue = frame.EvaluateExpression("test")
- self.assertTrue(
- testValue.GetError().Success(),
- "Test expression value invalid: %s" %
- (testValue.GetError().GetCString()))
- self.assertEqual(
- testValue.GetTypeName(), "IntContainer",
- "Test expression type incorrect")
-
- memberValue = testValue.GetChildMemberWithName("storage")
- self.assertTrue(
- memberValue.GetError().Success(),
- "Member value missing or invalid: %s" %
- (testValue.GetError().GetCString()))
- self.assertEqual(
- memberValue.GetTypeName(), "int",
- "Member type incorrect")
- self.assertEqual(
- 42,
- memberValue.GetValueAsSigned(),
- "Member value incorrect")
-
- testValue = frame.EvaluateExpression("bar")
- self.assertTrue(
- testValue.GetError().Success(),
- "Test expression value invalid: %s" %
- (testValue.GetError().GetCString()))
- self.assertEqual(
- testValue.GetTypeName(), "Foo::Bar",
- "Test expression type incorrect")
-
- memberValue = testValue.GetChildMemberWithName("i")
- self.assertTrue(
- memberValue.GetError().Success(),
- "Member value missing or invalid: %s" %
- (testValue.GetError().GetCString()))
- self.assertEqual(
- memberValue.GetTypeName(), "int",
- "Member type incorrect")
- self.assertEqual(
- 123,
- memberValue.GetValueAsSigned(),
- "Member value incorrect")
-
Index: lldb/test/API/lang/cpp/gmodules/Makefile
===================================================================
--- /dev/null
+++ lldb/test/API/lang/cpp/gmodules/Makefile
@@ -1,5 +0,0 @@
-PCH_CXX_SOURCE = pch.h
-CXX_SOURCES = main.cpp
-CFLAGS_EXTRAS := $(MODULE_DEBUG_INFO_FLAGS)
-
-include Makefile.rules
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits