[Lldb-commits] [lldb] 881af6e - [lldb-vscode] Fix TestVSCode_module

Walter Erquinigo via lldb-commits lldb-commits at lists.llvm.org
Fri Jul 10 16:51:14 PDT 2020


Author: Walter Erquinigo
Date: 2020-07-10T16:50:59-07:00
New Revision: 881af6eb0030986876d3b80668193e5c3c04a87c

URL: https://github.com/llvm/llvm-project/commit/881af6eb0030986876d3b80668193e5c3c04a87c
DIFF: https://github.com/llvm/llvm-project/commit/881af6eb0030986876d3b80668193e5c3c04a87c.diff

LOG: [lldb-vscode] Fix TestVSCode_module

For some reason this works on the original author's machine, but not on my. So I'm using a safer approach of using an unstripped dynamic library to place breakpoints on. The author was placing a breakpoint on the main symbol of a stripped library and for some reason it worked on their machine, but it shouldn't have...

Offender diff: D82477

Added: 
    lldb/test/API/tools/lldb-vscode/module/foo.cpp
    lldb/test/API/tools/lldb-vscode/module/foo.h

Modified: 
    lldb/test/API/tools/lldb-vscode/module/Makefile
    lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
    lldb/test/API/tools/lldb-vscode/module/main.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/tools/lldb-vscode/module/Makefile b/lldb/test/API/tools/lldb-vscode/module/Makefile
index 04c9fda1c388..1fb944b13893 100644
--- a/lldb/test/API/tools/lldb-vscode/module/Makefile
+++ b/lldb/test/API/tools/lldb-vscode/module/Makefile
@@ -1,6 +1,8 @@
+DYLIB_NAME := foo
+DYLIB_CXX_SOURCES := foo.cpp
 CXX_SOURCES := main.cpp
 
-all:        a.out.stripped
+all: a.out.stripped
 
 include Makefile.rules
 
@@ -8,4 +10,4 @@ a.out.stripped: a.out.dSYM
 	strip -o a.out.stripped a.out
 ifneq "$(CODESIGN)" ""
 	$(CODESIGN) -fs - a.out.stripped
-endif
\ No newline at end of file
+endif

diff  --git a/lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py b/lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
index 1de461ef9efa..1a5cadb22bc6 100644
--- a/lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
+++ b/lldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
@@ -20,9 +20,7 @@ def test_modules_event(self):
         program_basename = "a.out.stripped"
         program= self.getBuildArtifact(program_basename)
         self.build_and_launch(program)
-        source = "main.cpp"
-        main_source_path = self.getSourcePath(source)
-        functions = ['main']
+        functions = ['foo']
         breakpoint_ids = self.set_function_breakpoints(functions)
         self.assertEquals(len(breakpoint_ids), len(functions),
                         'expect one breakpoint')
@@ -37,7 +35,7 @@ def test_modules_event(self):
         self.assertTrue('symbolFilePath' not in program_module, 'Make sure a.out.stripped has no debug info')
         self.assertEqual('Symbols not found.', program_module['symbolStatus'])
         symbol_path = self.getBuildArtifact("a.out")
-        response = self.vscode.request_evaluate('`%s' % ('target symbols add -s "%s" "%s"' % (program, symbol_path)))
+        self.vscode.request_evaluate('`%s' % ('target symbols add -s "%s" "%s"' % (program, symbol_path)))
         active_modules = self.vscode.get_active_modules()
         program_module = active_modules[program_basename]
         self.assertEqual(program_basename, program_module['name'])

diff  --git a/lldb/test/API/tools/lldb-vscode/module/foo.cpp b/lldb/test/API/tools/lldb-vscode/module/foo.cpp
new file mode 100644
index 000000000000..9dba85a9ccca
--- /dev/null
+++ b/lldb/test/API/tools/lldb-vscode/module/foo.cpp
@@ -0,0 +1,3 @@
+int foo() {
+    return 12;
+}

diff  --git a/lldb/test/API/tools/lldb-vscode/module/foo.h b/lldb/test/API/tools/lldb-vscode/module/foo.h
new file mode 100644
index 000000000000..5d5f8f0c9e78
--- /dev/null
+++ b/lldb/test/API/tools/lldb-vscode/module/foo.h
@@ -0,0 +1 @@
+int foo();

diff  --git a/lldb/test/API/tools/lldb-vscode/module/main.cpp b/lldb/test/API/tools/lldb-vscode/module/main.cpp
index 62bcb78696b0..4ff2b2360eb9 100644
--- a/lldb/test/API/tools/lldb-vscode/module/main.cpp
+++ b/lldb/test/API/tools/lldb-vscode/module/main.cpp
@@ -1,3 +1,6 @@
+#include "foo.h"
+
 int main(int argc, char const *argv[]) {
+  foo();
   return 0; // breakpoint 1
 }


        


More information about the lldb-commits mailing list