emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/realgud-lldb bda33d6 39/56: Bang on breakpoint location


From: Rocky Bernstein
Subject: [elpa] externals/realgud-lldb bda33d6 39/56: Bang on breakpoint locations
Date: Thu, 23 May 2019 02:11:43 -0400 (EDT)

branch: externals/realgud-lldb
commit bda33d691b31eb3283539510067055f67bf669f6
Author: rocky <address@hidden>
Commit: rocky <address@hidden>

    Bang on breakpoint locations
---
 lldb/init.el             |  6 +++---
 lldb/track-mode.el       |  2 +-
 test/test-regexp-lldb.el | 52 ++++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 54 insertions(+), 6 deletions(-)

diff --git a/lldb/init.el b/lldb/init.el
index 19a2c2d..586bc3a 100644
--- a/lldb/init.el
+++ b/lldb/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2016-2017 Rocky Bernstein
+;; Copyright (C) 2016-2017, 2019 Rocky Bernstein
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -87,7 +87,7 @@ realgud-loc-pat struct")
 ;;   Breakpoint 1: where = hello`main + 4 at hello.c:5, address = 
0x00000000004004b4
 (setf (gethash "brkpt-set" realgud:lldb-pat-hash)
       (make-realgud-loc-pat
-       :regexp (format "^Breakpoint %s: .* at \\(.+\\):%s, "
+       :regexp (format "^Breakpoint %s: .* at \\(.+?\\):%s\\(?::[0-9]+\\)?, "
                       realgud:regexp-captured-num realgud:regexp-captured-num)
        :num 1
        :file-group 2
@@ -137,7 +137,7 @@ realgud-loc-pat struct")
   "Hash key is command name like 'continue' and the value is
   the lldb command to use, like 'process continue'")
 
-(setf (gethash "break"    realgud:lldb-command-hash) "b %l")
+(setf (gethash "break"    realgud:lldb-command-hash) "b %X:%l")
 (setf (gethash "delete"   realgud:lldb-command-hash) "break delete %p")
 (setf (gethash "clear"    realgud:lldb-command-hash) "break clear %X:%l")
 (setf (gethash "continue" realgud:lldb-command-hash) "process continue")
diff --git a/lldb/track-mode.el b/lldb/track-mode.el
index 050804b..215262b 100644
--- a/lldb/track-mode.el
+++ b/lldb/track-mode.el
@@ -60,7 +60,7 @@ Key bindings:
     (progn
       (setq realgud::lldb-track-mode nil)
       ))
-)
+  )
 
 (provide-me "realgud:lldb-")
 ;;; track-mode.el ends here
diff --git a/test/test-regexp-lldb.el b/test/test-regexp-lldb.el
index 0d695f2..5b3782c 100644
--- a/test/test-regexp-lldb.el
+++ b/test/test-regexp-lldb.el
@@ -1,5 +1,5 @@
 ;; Press C-x C-e at the end of the next line to run this file test 
non-interactively
-;; (test-simple-run "emacs -batch -L %s -L %s -l %s" (file-name-directory 
(locate-library "test-simple.elc")) (file-name-directory (locate-library 
"realgud.elc")) buffer-file-name)
+;; (test-simple-run "emacs -batch -L %s -L %s -L %s -L %s -l %s" 
(file-name-directory (locate-library "test-simple.elc")) (file-name-directory 
(locate-library "load-relative.elc")) (file-name-directory (locate-library 
"realgud.elc")) (file-name-directory (locate-library "loc-changes.elc")) 
buffer-file-name)
 
 (require 'test-simple)
 (require 'load-relative)
@@ -14,7 +14,7 @@
 
 (eval-when-compile
   (defvar dbg-name)      (defvar realgud-pat-hash) (defvar realgud-bt-hash)
-  (defvar loc-pat)       (defvar prompt-pat)
+  (defvar loc-pat)       (defvar prompt-pat)       (defvar bps-pat)
   (defvar file-group)    (defvar line-group)       (defvar test-pos)
   (defvar test-dbgr)     (defvar test-text)        (defvar realgud-bt-pat)
   (defvar realgud-bt-re) (defvar realgud:lldb-pat-hash)
@@ -106,6 +106,54 @@
                         (match-beginning line-group)
                         (match-end line-group)))
 
+(set (make-local-variable 'bps-pat)
+     (gethash "brkpt-set"  realgud:lldb-pat-hash))
+
+(setq test-text "Breakpoint 1: where = solptest`main + 9 at 
unit_test_main.ipp:303:12, address = 0x00000001002380d9")
+
+(assert-t (numberp (loc-match test-text bps-pat))
+         "breakpoint location with column")
+
+
+(assert-equal "1"
+             (match-string (realgud-loc-pat-num
+                            bps-pat) test-text)
+             "extract breakpoint number")
+
+(assert-equal "unit_test_main.ipp"
+             (match-string (realgud-loc-pat-file-group
+                            bps-pat) test-text)
+             "extract breakpoint file name")
+
+(assert-equal "303"
+             (match-string (realgud-loc-pat-line-group
+                            bps-pat) test-text)
+             "extract breakpoint line number")
+
+
+(setq test-text "Breakpoint 2: where = solptest`main + 9 at /tmp/foo.c:63, 
address = 0x00000001002380d9")
+
+(assert-t (numberp (loc-match test-text bps-pat))
+         "breakpoint location without column")
+
+
+(assert-equal "2"
+             (match-string (realgud-loc-pat-num
+                            bps-pat) test-text)
+             "extract breakpoint number")
+
+(assert-equal "/tmp/foo.c"
+             (match-string (realgud-loc-pat-file-group
+                            bps-pat) test-text)
+             "extract breakpoint file name")
+
+(assert-equal "63"
+             (match-string (realgud-loc-pat-line-group
+                            bps-pat) test-text)
+             "extract breakpoint line number")
+
+
+
 (note "prompt")
 (set (make-local-variable 'prompt-pat)
      (gethash "prompt" realgud:lldb-pat-hash))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]