[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/undo-fu-session 4605b0cc2b 33/53: Tests: simplify executio
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/undo-fu-session 4605b0cc2b 33/53: Tests: simplify execution, with & without the linear option set |
Date: |
Thu, 7 Jul 2022 12:05:24 -0400 (EDT) |
branch: elpa/undo-fu-session
commit 4605b0cc2bf10d15ddab7622e700359643a805a0
Author: Campbell Barton <ideasman42@gmail.com>
Commit: Campbell Barton <ideasman42@gmail.com>
Tests: simplify execution, with & without the linear option set
---
undo-fu-session-test.el | 133 +++++++++++++++++++++++++++---------------------
undo-fu-session.el | 0
2 files changed, 76 insertions(+), 57 deletions(-)
diff --git a/undo-fu-session-test.el b/undo-fu-session-test.el
index 5ef1a6c34a..3fbce51164 100644
--- a/undo-fu-session-test.el
+++ b/undo-fu-session-test.el
@@ -19,20 +19,21 @@
;;
;; To test this file run:
-;; emacs --eval '(progn (add-to-list \'load-path ".") (load
"undo-fu-session.el") (load "undo-fu-session-test.el"))' --batch
+;;
+;; `emacs -batch -l undo-fu-session-test.el -f
undo-fu-session-test-run-all'
;;
;;; Code:
+;; ---------------------------------------------------------------------------
+;; Setup Environment
-;; Quiet byte code compilation warnings.
-(declare-function global-undo-fu-session-mode "undo-fu-session" ())
-(declare-function undo-fu-session--make-file-name "undo-fu-session" (filename))
-(declare-function undo-fu-session-recover "undo-fu-session" ())
-(declare-function undo-fu-session-save "undo-fu-session" ())
+(add-to-list 'load-path (file-name-directory load-file-name))
+(require 'undo-fu-session)
-(global-undo-fu-session-mode)
+;; ---------------------------------------------------------------------------
+;; Internal Macros
(defmacro undo-fu-session-test--with-temp-dir (temp-dir &rest body)
"Run BODY with TEMP-DIR directory."
@@ -43,57 +44,75 @@
,@body)
(delete-directory ,temp-dir t))))
-(undo-fu-session-test--with-temp-dir
- ;; Don't touch the users home directory.
- undo-fu-session-directory
-
- (dotimes (f 100)
- (let*
- ( ;; While the session file wouldn't typically
- ;; be in the same directory as the undo session data, it's harmless.
- (filename (concat undo-fu-session-directory "/undo-fu-session-test"))
- (filename-session (undo-fu-session--make-file-name filename)))
- (when (file-exists-p filename)
- (delete-file filename))
- (when (file-exists-p filename-session)
- (delete-file filename-session))
- (with-current-buffer (find-file-literally filename)
- (dotimes (_i 1000)
+
+;; ---------------------------------------------------------------------------
+;; Tests
+
+(defun undo-fu-session-test-run-all-impl ()
+ "Run each test and exit."
+
+ (undo-fu-session-test--with-temp-dir
+ ;; Don't touch the users home directory.
+ undo-fu-session-directory
+
+ (dotimes (f 100)
+ (let*
+ ( ;; While the session file wouldn't typically
+ ;; be in the same directory as the undo session data, it's harmless.
+ (filename (concat undo-fu-session-directory "/undo-fu-session-test"))
+ (filename-session (undo-fu-session--make-file-name filename)))
+ (when (file-exists-p filename)
+ (delete-file filename))
+ (when (file-exists-p filename-session)
+ (delete-file filename-session))
+ (with-current-buffer (find-file-literally filename)
+ (dotimes (_i 1000)
+ (ignore-errors
+ (pcase (random 3)
+ (`0
+ (dotimes (_j 10)
+ (insert (make-string (1+ (random 20)) (+ (random 26)
65)))))
+ (`1 (newline))
+ (`2 (insert "\t"))
+ (`3 (forward-line))
+ (`4 (forward-line -1))
+ (`5 (kill-line))
+ (`6 (kill-paragraph -1))
+ (`7 (yank))
+ (`8
+ (kill-region
+ (+ (point-min) (random (point-max)))
+ (+ (point-min) (random (point-max))))))))
+ (save-buffer)
+ (undo-fu-session-save)
+ (kill-buffer (current-buffer)))
+ (with-current-buffer (find-file-literally filename)
+ (undo-fu-session-recover)
(ignore-errors
- (pcase (random 3)
- (`0
- (dotimes (_j 10)
- (insert (make-string (1+ (random 20)) (+ (random 26) 65)))))
- (`1 (newline))
- (`2 (insert "\t"))
- (`3 (forward-line))
- (`4 (forward-line -1))
- (`5 (kill-line))
- (`6 (kill-paragraph -1))
- (`7 (yank))
- (`8
- (kill-region
- (+ (point-min) (random (point-max)))
- (+ (point-min) (random (point-max))))))))
- (save-buffer)
- (undo-fu-session-save)
- (kill-buffer (current-buffer)))
- (with-current-buffer (find-file-literally filename)
- (undo-fu-session-recover)
- (ignore-errors
- (while
- (prog1 t
- (undo))))
- (let ((contents (buffer-string)))
- (set-buffer-modified-p nil)
- (kill-buffer (current-buffer))
- (cond
- ((string-equal contents "")
- (message "Test succeeded #%s" f))
- (t
- (error "Test failed #%s" f))))))))
-
-(message "Done")
+ (while
+ (prog1 t
+ (undo))))
+ (let ((contents (buffer-string)))
+ (set-buffer-modified-p nil)
+ (kill-buffer (current-buffer))
+ (cond
+ ((string-equal contents "")
+ (message "Test succeeded #%s" f))
+ (t
+ (error "Test failed #%s" f))))))))
+
+ (message "Done"))
+
+(defun undo-fu-session-test-run-all ()
+ "Run all tests."
+
+ (global-undo-fu-session-mode)
+
+ (setq undo-fu-session-linear t)
+ (undo-fu-session-test-run-all-impl)
+
+ (setq undo-fu-session-linear nil)
+ (undo-fu-session-test-run-all-impl))
(provide 'undo-fu-session-test)
;;; undo-fu-session-test.el ends here
diff --git a/undo-fu-session.el b/undo-fu-session.el
old mode 100644
new mode 100755
- [nongnu] elpa/undo-fu-session fa62a9b9a1 03/53: Cleanup: messages & docstrings, (continued)
- [nongnu] elpa/undo-fu-session fa62a9b9a1 03/53: Cleanup: messages & docstrings, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 049fe942f6 11/53: Cleanup: order buffer-undo-list before pending-undo-list, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 5cc4b4f33d 12/53: Fix for linearizing an empty undo-list disabling undo on reload, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 56cdd3538a 16/53: Don't show common-place messages in the echo area, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 5135b5cb61 15/53: Update changelog, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session a038914736 18/53: Update readme, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 191babe23c 24/53: Cleanup: docstring width warnings, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 00bc3807d7 25/53: Cleanup: replace 'if' with 'cond', ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 7c095e863c 26/53: Cleanup: remove redundant groups, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session cbe37c6643 31/53: Alternate fix for #2, make the directory only readable by the user, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 4605b0cc2b 33/53: Tests: simplify execution, with & without the linear option set,
ELPA Syncer <=
- [nongnu] elpa/undo-fu-session 3e810c7c9a 34/53: Tests: move into subdirectory, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 1a3d500d8b 39/53: Support different compression formats & format conversion, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session b492c07573 43/53: Fix bzip2 and Z-standard compression types, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session d2a5ca1299 45/53: Use 600 for the mode instead of 700, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session e4cf026fd5 47/53: Use GPL 3 license in header, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 703ea8d000 46/53: Fix incorrect mode for the undo-fu-session directory, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 4b14cea4a9 44/53: Fix integer comparison and use assoc instead of assoc-default, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session 36e3bbabfa 51/53: Always ensure the target directory exists before saving, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session b2d8874bc8 20/53: readme: update evil mode notes, ELPA Syncer, 2022/07/07
- [nongnu] elpa/undo-fu-session e6ba8d6330 41/53: Cleanup: expand on comment, ELPA Syncer, 2022/07/07