summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2022-12-02 17:27:16 +0100
committerMattias EngdegÄrd <mattiase@acm.org>2022-12-02 17:32:22 +0100
commit4b3eb928fed4b236d1ae06ae7d9d51a4466554d2 (patch)
tree0dfd10c96c71d3bf4df887827b225abf53781263
parent1b567f5a67de1151b76b279311a73a7bf7174c12 (diff)
downloademacs-4b3eb928fed4b236d1ae06ae7d9d51a4466554d2.tar.gz
Fix server-tests run noninteractively (bug#59742)
This may or may not fix the test run from CI. * test/lisp/server-tests.el (server-tests/can-create-frames-p): Don't attempt to create frames if TERM=dumb, which what we have if run from M-x compile (for instance). (server-tests/server-force-stop/keeps-frames): Delete created frame so that it doesn't cause trouble for other tests.
-rw-r--r--test/lisp/server-tests.el15
1 files changed, 11 insertions, 4 deletions
diff --git a/test/lisp/server-tests.el b/test/lisp/server-tests.el
index f8ecd046f2b..c7813e2aefc 100644
--- a/test/lisp/server-tests.el
+++ b/test/lisp/server-tests.el
@@ -21,9 +21,12 @@
(require 'ert)
(require 'server)
+(require 'cl-lib)
(defconst server-tests/can-create-frames-p
- (not (memq system-type '(windows-nt ms-dos)))
+ (and (not (memq system-type '(windows-nt ms-dos)))
+ ;; TERM=dumb is what we get when running from `compile'.
+ (not (equal (getenv "TERM") "dumb")))
"Non-nil if we can create a new frame in the tests.
Some tests below need to create new frames for the emacsclient.
However, this doesn't work on all platforms. In particular,
@@ -188,8 +191,9 @@ tests that `server-force-stop' doesn't delete frames (and even
then, requires a few tricks to run as a regression test). So
long as this works, the problem in bug#58877 shouldn't occur."
(skip-unless server-tests/can-create-frames-p)
- (let ((starting-frame-count (length (frame-list)))
- terminal)
+ (let* ((starting-frames (frame-list))
+ (starting-frame-count (length starting-frames))
+ terminal)
(unwind-protect
(server-tests/with-server
(server-tests/with-client emacsclient '("-c") 'exit
@@ -214,6 +218,9 @@ long as this works, the problem in bug#58877 shouldn't occur."
(when (and terminal
(eq (terminal-live-p terminal) t)
(not (eq system-type 'windows-nt)))
- (delete-terminal terminal)))))
+ (delete-terminal terminal)))
+ ;; Delete the created frame.
+ (delete-frame (car (cl-set-difference (frame-list) starting-frames))
+ t)))
;;; server-tests.el ends here