aboutsummaryrefslogtreecommitdiff
path: root/robot/robot.el
diff options
context:
space:
mode:
authorPhillip Lord <phillip.lord@russet.org.uk>2019-06-16 20:21:31 +0100
committerPhillip Lord <phillip.lord@russet.org.uk>2019-06-16 20:21:31 +0100
commit50885fbeea8a282dc027b03b19097de3c6dabd18 (patch)
tree68462f789bb9e339c48d061dad578f6569a3b879 /robot/robot.el
parenta923ba2c90ebb5e7fd66b29f6a3af7fd12b6b9f4 (diff)
downloadorg-drill-50885fbeea8a282dc027b03b19097de3c6dabd18.tar.gz
org-drill-50885fbeea8a282dc027b03b19097de3c6dabd18.zip
Refactor robot testing to allow multiple tests
Diffstat (limited to 'robot/robot.el')
-rw-r--r--robot/robot.el60
1 files changed, 60 insertions, 0 deletions
diff --git a/robot/robot.el b/robot/robot.el
new file mode 100644
index 0000000..43f31da
--- /dev/null
+++ b/robot/robot.el
@@ -0,0 +1,60 @@
+;; 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 clean (file)
+ (delete-file (concat top-dir "robot/" 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")
+ (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)))