]> code.delx.au - gnu-emacs-elpa/blob - packages/realgud/test/test-gdb.el
Add 'packages/realgud/' from commit 'd811316e6a0f4eeee8a1347f504c196c86baa2cb'
[gnu-emacs-elpa] / packages / realgud / test / test-gdb.el
1 (require 'test-simple)
2 (require 'load-relative)
3 (load-file "../realgud/common/buffer/command.el")
4 (load-file "../realgud/debugger/gdb/core.el")
5 (load-file "./regexp-helper.el")
6
7 (eval-when-compile
8 (defvar realgud:gdb-minibuffer-history)
9 (defvar test:realgud-gdb-executable-save)
10 (defvar test:realgud-minibuffer-history-save)
11 )
12
13 (declare-function realgud:gdb-suggest-invocation 'realgud:bashdb)
14 (declare-function __FILE__ 'require-relative)
15
16 (test-simple-start)
17
18 ;; Save value realgud:run-process and change it to something we want
19 (setq test:realgud-gdb-executable-save (symbol-function 'realgud:gdb-executable))
20 (setq test:realgud-minibuffer-history-save realgud:gdb-minibuffer-history)
21
22 (defun realgud:gdb-executable (filename)
23 "Mock function for testing"
24 (cond ((equal filename "bar.sh") 7)
25 ((equal filename "foo") 8)
26 ((equal filename "baz") 8)
27 (t 3)))
28
29 (setq realgud:gdb-minibuffer-history nil)
30
31 (note "realgud:gdb-suggest-invocation")
32 (let ((my-directory (file-name-directory (__FILE__))))
33 (save-excursion
34 (note "Test preference to buffer editing")
35 (setq default-directory
36 (concat my-directory "gdb"))
37 (find-file-literally "foo.c")
38 (assert-equal "gdb foo" (realgud:gdb-suggest-invocation)
39 "Should find file sans extension - foo")
40 (find-file-literally "baz.c")
41 (assert-equal "gdb baz" (realgud:gdb-suggest-invocation)
42 "Should find file sans extension - baz")
43 )
44 (save-excursion
45 (note "Pick up non-sans executable")
46 (setq default-directory
47 (concat my-directory "gdb/test2"))
48 (assert-equal "gdb bar.sh" (realgud:gdb-suggest-invocation))
49 (setq realgud:gdb-minibuffer-history '("gdb testing"))
50 (setq default-directory
51 (concat my-directory "gdb/test2"))
52 (assert-equal "gdb testing" (realgud:gdb-suggest-invocation)
53 "After setting minibuffer history - takes precidence")
54 )
55 (setq default-directory my-directory)
56 )
57
58 (end-tests)
59
60 ;; Restore the old values.
61 ;; You might have to run the below if you run this interactively.
62 (fset 'realgud:gdb-executable test:realgud-gdb-executable-save)
63 (setq realgud:gdb-minibuffer-history test:realgud-minibuffer-history-save)
64 (setq default-directory (file-name-directory (__FILE__)))