From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Helmut Eller Newsgroups: gmane.emacs.bugs Subject: bug#16853: 24.3.50; ert-run-tests-interactively difficult to abort Date: Sun, 02 Mar 2014 16:35:33 +0100 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1393774639 4001 80.91.229.3 (2 Mar 2014 15:37:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 2 Mar 2014 15:37:19 +0000 (UTC) To: 16853@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Mar 02 16:37:27 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WK8SD-0003d5-DX for geb-bug-gnu-emacs@m.gmane.org; Sun, 02 Mar 2014 16:37:25 +0100 Original-Received: from localhost ([::1]:35830 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WK8SD-0005Uu-0O for geb-bug-gnu-emacs@m.gmane.org; Sun, 02 Mar 2014 10:37:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42112) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WK8S0-0005Ts-HF for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 10:37:21 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WK8Rq-0005VY-7i for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 10:37:12 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46838) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WK8Rq-0005VQ-4V for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 10:37:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WK8Rp-00045o-NU for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 10:37:01 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Helmut Eller Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 02 Mar 2014 15:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16853 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.139377457515676 (code B ref -1); Sun, 02 Mar 2014 15:37:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 2 Mar 2014 15:36:15 +0000 Original-Received: from localhost ([127.0.0.1]:48020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WK8R5-00044m-9J for submit@debbugs.gnu.org; Sun, 02 Mar 2014 10:36:15 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:40237) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WK8R2-00044c-Is for submit@debbugs.gnu.org; Sun, 02 Mar 2014 10:36:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WK8Qs-0005Jp-Rx for submit@debbugs.gnu.org; Sun, 02 Mar 2014 10:36:12 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:46504) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WK8Qs-0005Jl-Oh for submit@debbugs.gnu.org; Sun, 02 Mar 2014 10:36:02 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41916) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WK8Ql-0005PG-E5 for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 10:36:02 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WK8Qe-0005IK-45 for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 10:35:55 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:57681) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WK8Qd-0005I6-PL for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 10:35:48 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WK8Qb-0002oc-KS for bug-gnu-emacs@gnu.org; Sun, 02 Mar 2014 16:35:45 +0100 Original-Received: from dial-187038.pool.broadband44.net ([212.46.187.38]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 02 Mar 2014 16:35:45 +0100 Original-Received: from eller.helmut by dial-187038.pool.broadband44.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 02 Mar 2014 16:35:45 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 82 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: dial-187038.pool.broadband44.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:CSeMYByPtS2D4FbMo/w+r52KEVQ= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:86476 Archived-At: --=-=-= Content-Type: text/plain On Sun, Feb 23 2014, Helmut Eller wrote: > I need to press C-g five times before ERT finally stops. > > It would be much less annoying if ERT would quit after the first C-g. > This is especially important for test suites with more than 100 tests. Here is a patch to fix this: Make it easier to abort a series of tests with C-g. * emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg. If interactively is true and a test was aborted then ask if the remaining tests should be aborted too. (ert-run-tests-batch, ert-run-tests-interactively): Pass in interactively arg. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=x.patch diff --git lisp/emacs-lisp/ert.el lisp/emacs-lisp/ert.el index 34041aa..aa01c3f 100644 --- lisp/emacs-lisp/ert.el +++ lisp/emacs-lisp/ert.el @@ -1238,7 +1238,7 @@ SELECTOR is the selector that was used to select TESTS." (funcall listener 'test-ended stats test result)) (setf (ert--stats-current-test stats) nil)))) -(defun ert-run-tests (selector listener) +(defun ert-run-tests (selector listener interactively) "Run the tests specified by SELECTOR, sending progress updates to LISTENER." (let* ((tests (ert-select-tests selector t)) (stats (ert--make-stats tests selector))) @@ -1249,10 +1249,14 @@ SELECTOR is the selector that was used to select TESTS." (let ((ert--current-run-stats stats)) (force-mode-line-update) (unwind-protect - (progn - (cl-loop for test in tests do - (ert-run-or-rerun-test stats test listener)) - (setq abortedp nil)) + (cl-loop for test in tests do + (ert-run-or-rerun-test stats test listener) + (when (and interactively + (ert-test-quit-p + (ert-test-most-recent-result test)) + (y-or-n-p "Abort testing? ")) + (cl-return)) + finally (setq abortedp nil)) (setf (ert--stats-aborted-p stats) abortedp) (setf (ert--stats-end-time stats) (current-time)) (funcall listener 'run-ended stats abortedp))) @@ -1443,7 +1447,8 @@ Returns the stats object." (ert-test-result-expected-p test result)) (1+ (ert--stats-test-pos stats test)) - (ert-test-name test))))))))) + (ert-test-name test))))))) + nil)) ;;;###autoload (defun ert-run-tests-batch-and-exit (&optional selector) @@ -1952,9 +1957,8 @@ and how to display message." test result))) (ert--results-update-stats-display-maybe ewoc stats) (ewoc-invalidate ewoc node)))))))) - (ert-run-tests - selector - listener))) + (ert-run-tests selector listener t))) + ;;;###autoload (defalias 'ert 'ert-run-tests-interactively) --=-=-=--