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
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to