blob: ef1f4c2af660679dd69d00778a717db850fa3a80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
;; Shutup
(setq make-backup-files nil)
(setq auto-save-default nil)
(setq top-dir default-directory)
(set-frame-name "emacs-bot")
(setq debug-on-error t)
(setq debug-on-quit t)
(defun robot-file (file)
(concat top-dir "robot/" file))
(defun clean (file)
(delete-file (robot-file file)))
(defun copy (from to)
(copy-file (robot-file from) (robot-file to) t))
(defun find (file)
(find-file (robot-file file)))
;; Clean up
(clean "failure.txt")
(clean "messages.txt")
(defun die ()
(interactive)
(kill-emacs))
(defun dump-buffer (buffer file)
(save-excursion
(when (get-buffer buffer)
(set-buffer buffer)
(write-region (point-min) (point-max)
(concat top-dir "robot/" file)
nil 'dont-display-wrote-file-message
))))
(add-hook 'debugger-mode-hook
'robot-dump-in-a-bit)
(defun robot-dump-in-a-bit ()
(run-with-timer 1 nil #'robot-dump))
(defun robot-dump ()
(dump-buffer "*Backtrace*" "failure.txt")
(dump-buffer "*Messages*" "messages.txt")
(princ "Killing Emacs after error\n"
'external-debugging-output)
(kill-emacs -1))
(defun robot-dump-messages ()
(dump-buffer "*Messages*" "messages.txt"))
(run-with-timer 1 1 #'robot-dump-messages)
(defun robot-check-cards-seen-and-die (n)
(if (= n org-drill-cards-in-this-emacs)
(progn
(princ
(format "Succeeded: Saw %s cards as expected\n" n)
'external-debugging-output)
(kill-emacs 0))
(princ
(format "Failed: Saw %s cards, expecting %s\n"
org-drill-cards-in-this-emacs n)
'external-debugging-output)
(kill-emacs -1)))
|