[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/pacmacs c6ddeab3f2 215/472: Roughly implement it replayer
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/pacmacs c6ddeab3f2 215/472: Roughly implement it replayer (#122) |
Date: |
Thu, 6 Jan 2022 21:59:26 -0500 (EST) |
branch: elpa/pacmacs
commit c6ddeab3f26a7db60afe806cc49a828ac0582d1c
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>
Roughly implement it replayer (#122)
---
it-cases/it-case01.el | 10 ++++
it-cases/it-case02.el | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++
tools/it-recorder.el | 34 ++++++++++--
3 files changed, 179 insertions(+), 4 deletions(-)
diff --git a/it-cases/it-case01.el b/it-cases/it-case01.el
new file mode 100644
index 0000000000..551e6d3271
--- /dev/null
+++ b/it-cases/it-case01.el
@@ -0,0 +1,10 @@
+((pacmacs-down . 7)
+ (pacmacs-right . 10)
+ (pacmacs-down . 14)
+ (pacmacs-right . 17)
+ (pacmacs-down . 21)
+ (pacmacs-right . 26)
+ (pacmacs-up . 30)
+ (pacmacs-left . 32)
+ (pacmacs-up . 34)
+ (pacmacs-left . 37))
diff --git a/it-cases/it-case02.el b/it-cases/it-case02.el
new file mode 100644
index 0000000000..25b1520515
--- /dev/null
+++ b/it-cases/it-case02.el
@@ -0,0 +1,139 @@
+((pacmacs-down . 8)
+ (pacmacs-right . 11)
+ (pacmacs-down . 15)
+ (pacmacs-right . 17)
+ (pacmacs-down . 21)
+ (pacmacs-right . 26)
+ (pacmacs-up . 31)
+ (pacmacs-left . 33)
+ (pacmacs-up . 36)
+ (pacmacs-left . 38)
+ (pacmacs-right . 41)
+ (pacmacs-down . 42)
+ (pacmacs-left . 46)
+ (pacmacs-up . 50)
+ (pacmacs-left . 52)
+ (pacmacs-down . 56)
+ (pacmacs-left . 59)
+ (pacmacs-right . 62)
+ (pacmacs-up . 64)
+ (pacmacs-left . 68)
+ (pacmacs-up . 71)
+ (pacmacs-left . 73)
+ (pacmacs-up . 91)
+ (pacmacs-up . 95)
+ (pacmacs-up . 98)
+ (pacmacs-up . 100)
+ (pacmacs-right . 102)
+ (pacmacs-down . 105)
+ (pacmacs-right . 110)
+ (pacmacs-up . 113)
+ (pacmacs-right . 118)
+ (pacmacs-down . 120)
+ (pacmacs-right . 125)
+ (pacmacs-up . 128)
+ (pacmacs-left . 133)
+ (pacmacs-down . 136)
+ (pacmacs-up . 140)
+ (pacmacs-right . 144)
+ (pacmacs-down . 147)
+ (pacmacs-right . 171)
+ (pacmacs-down . 182)
+ (pacmacs-left . 184)
+ (pacmacs-up . 190)
+ (pacmacs-right . 192)
+ (pacmacs-up . 206)
+ (pacmacs-left . 208)
+ (pacmacs-down . 215)
+ (pacmacs-up . 221)
+ (pacmacs-right . 224)
+ (pacmacs-up . 235)
+ (pacmacs-left . 240)
+ (pacmacs-right . 254)
+ (pacmacs-left . 272)
+ (pacmacs-down . 279)
+ (pacmacs-up . 288)
+ (pacmacs-right . 290)
+ (pacmacs-up . 297)
+ (pacmacs-left . 304)
+ (pacmacs-right . 322)
+ (pacmacs-down . 330)
+ (pacmacs-left . 335)
+ (pacmacs-up . 342)
+ (pacmacs-right . 344)
+ (pacmacs-up . 352)
+ (pacmacs-left . 356)
+ (pacmacs-right . 367)
+ (pacmacs-left . 379)
+ (pacmacs-right . 398)
+ (pacmacs-down . 407)
+ (pacmacs-left . 410)
+ (pacmacs-down . 443)
+ (pacmacs-left . 458)
+ (pacmacs-up . 466)
+ (pacmacs-right . 472)
+ (pacmacs-down . 482)
+ (pacmacs-left . 483)
+ (pacmacs-down . 491)
+ (pacmacs-right . 493)
+ (pacmacs-down . 503)
+ (pacmacs-left . 506)
+ (pacmacs-up . 517)
+ (pacmacs-right . 519)
+ (pacmacs-up . 527)
+ (pacmacs-left . 528)
+ (pacmacs-right . 536)
+ (pacmacs-left . 546)
+ (pacmacs-up . 564)
+ (pacmacs-right . 571)
+ (pacmacs-down . 583)
+ (pacmacs-down . 620)
+ (pacmacs-left . 625)
+ (pacmacs-down . 630)
+ (pacmacs-right . 631)
+ (pacmacs-left . 664)
+ (pacmacs-up . 669)
+ (pacmacs-right . 675)
+ (pacmacs-down . 683)
+ (pacmacs-left . 686)
+ (pacmacs-down . 691)
+ (pacmacs-left . 696)
+ (pacmacs-down . 703)
+ (pacmacs-up . 708)
+ (pacmacs-right . 714)
+ (pacmacs-up . 718)
+ (pacmacs-right . 720)
+ (pacmacs-right . 724)
+ (pacmacs-right . 726)
+ (pacmacs-left . 729)
+ (pacmacs-down . 729)
+ (pacmacs-up . 731)
+ (pacmacs-left . 751)
+ (pacmacs-up . 758)
+ (pacmacs-right . 766)
+ (pacmacs-down . 772)
+ (pacmacs-left . 774)
+ (pacmacs-down . 782)
+ (pacmacs-right . 789)
+ (pacmacs-left . 807)
+ (pacmacs-up . 814)
+ (pacmacs-right . 819)
+ (pacmacs-left . 849)
+ (pacmacs-up . 855)
+ (pacmacs-left . 863)
+ (pacmacs-right . 870)
+ (pacmacs-down . 879)
+ (pacmacs-left . 886)
+ (pacmacs-right . 890)
+ (pacmacs-left . 893)
+ (pacmacs-right . 899)
+ (pacmacs-left . 902)
+ (pacmacs-right . 905)
+ (pacmacs-up . 911)
+ (pacmacs-right . 915)
+ (pacmacs-up . 917)
+ (pacmacs-right . 920)
+ (pacmacs-left . 926)
+ (pacmacs-right . 928)
+ (pacmacs-right . 937)
+ (pacmacs-left . 941))
diff --git a/tools/it-recorder.el b/tools/it-recorder.el
index e31424152d..f96611e992 100644
--- a/tools/it-recorder.el
+++ b/tools/it-recorder.el
@@ -1,5 +1,7 @@
(require 'pacmacs)
+(require 'dash)
+(require 'f)
(require 'cl-lib)
(defvar pacmacs--tick-counter 0)
@@ -22,24 +24,29 @@
(insert))
(write-file filename)))
+(defun pacmacs--load-test-case (filename)
+ (-> (f-read-text filename)
+ (read-from-string)
+ (car)))
+
(defun pacmacs-record-up ()
(interactive)
- (pacmacs--record-action 'up)
+ (pacmacs--record-action 'pacmacs-up)
(pacmacs-up))
(defun pacmacs-record-down ()
(interactive)
- (pacmacs--record-action 'down)
+ (pacmacs--record-action 'pacmacs-down)
(pacmacs-down))
(defun pacmacs-record-left ()
(interactive)
- (pacmacs--record-action 'left)
+ (pacmacs--record-action 'pacmacs-left)
(pacmacs-left))
(defun pacmacs-record-right ()
(interactive)
- (pacmacs--record-action 'right)
+ (pacmacs--record-action 'pacmacs-right)
(pacmacs-right))
(defun pacmacs-record-tick ()
@@ -47,6 +54,17 @@
(cl-incf pacmacs--tick-counter)
(pacmacs-tick))
+(defun pacmacs-replay-tick ()
+ (cl-incf pacmacs--tick-counter)
+ (pacmacs-tick)
+
+ (if (not pacmacs--recorded-actions)
+ (pacmacs-quit)
+ (-let ((((action . tick-number) . _) pacmacs--recorded-actions))
+ (when (= tick-number pacmacs--tick-counter)
+ (funcall action)
+ (setq pacmacs--recorded-actions (cdr pacmacs--recorded-actions))))))
+
(define-derived-mode pacmacs-it-recorder-mode pacmacs-mode
"pacmacs-it-recorder-mode"
(define-key pacmacs-it-recorder-mode-map (kbd "<up>") 'pacmacs-record-up)
(define-key pacmacs-it-recorder-mode-map (kbd "<down>") 'pacmacs-record-down)
@@ -58,3 +76,11 @@
(pacmacs--initialize-game 'pacmacs-record-tick)
(pacmacs-it-recorder-mode)
(pacmacs--reset-recorder))
+
+(defun pacmacs--start-it-replayer (filename)
+ (interactive "fLoad test case: ")
+ (pacmacs--initialize-game 'pacmacs-replay-tick)
+ (pacmacs-mode)
+
+ (setq pacmacs--recorded-actions (pacmacs--load-test-case filename))
+ (setq pacmacs--tick-counter 0))
- [nongnu] elpa/pacmacs 80f16102c5 291/472: Implement unterrifying timed out ghosts (#153), (continued)
- [nongnu] elpa/pacmacs 80f16102c5 291/472: Implement unterrifying timed out ghosts (#153), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 609416d41a 057/472: Fix delete minibuffer or sole ordinary window error. Close #42, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 43cc1205c6 066/472: Try to fix pacman-image UTs after #52, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs e44bade6bf 087/472: Fix lambda expressions (#68), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 2dac90bc61 092/472: Merge branch 'entire-code-coverage-70'. Close #70, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 2fdeb1dbdf 188/472: Try to remove compilation step (#124), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs a8bbb61bf8 189/472: Try to remove elcs after the compilation (#124), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 7729f08230 196/472: Rename render-board to object-board (#126), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs cede2ffb48 202/472: Optimize object look up (#126):, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 9e29a7aa19 207/472: Add information about cask install., ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs c6ddeab3f2 215/472: Roughly implement it replayer (#122),
ELPA Syncer <=
- [nongnu] elpa/pacmacs 17a82dffec 205/472: Add UT for object-type-at-p, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs ce03d91967 227/472: Introduce xbm flip bit hack (#133), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs b0bc866a7b 218/472: Measure tick time during replay (#122), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 6f55a2df10 236/472: Add UT for pacmacs--put-bits-dot function (#131), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 48dacba354 238/472: Refactor wall generator with bar functions (#131), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 62bcd78913 243/472: Refactor possible ways functions (#131):, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs c2303269c0 249/472: Drop XBM support for empty cells (#141), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 0f403095f0 265/472: Update README after repo transferring (#140), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 169cd54064 269/472: Add UT for pacmacs--bit-list-to-integer, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 769414fae0 274/472: Extend pacmacs--normalize-wall-bits UT, ELPA Syncer, 2022/01/06