unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Tino Calancha <tino.calancha@gmail.com>
To: Stephen Berman <stephen.berman@gmx.net>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: Question about test failure on Hydra
Date: Tue, 01 Aug 2017 13:39:50 +0900	[thread overview]
Message-ID: <87efsvkijt.fsf@calancha-pc> (raw)
In-Reply-To: <87tw1t7yk5.fsf@rosalinde> (Stephen Berman's message of "Mon, 31 Jul 2017 11:20:10 +0200")

Stephen Berman <stephen.berman@gmx.net> writes:

> On Mon, 31 Jul 2017 06:26:55 +0300 Eli Zaretskii <eliz@gnu.org> wrote:
>
> (dired test-dir) reverts an existing Dired buffer, because of setting
> dired-auto-revert-buffer to t.  (When I step through the code, it is
> after reverting that point moves to the subdirectory line, which the
> should make "sanity check" true (and does, both when I step through the
> code and just run the test in any way).  When I comment out the
> dired-auto-revert-buffer line, then point stays at point-min, which
> makes the sanity check fail (dired-file-name-at-point returns nil),
When i comment out i see the point in point-max, and the test fails
same as you but: (dired-file-name-at-point returns nil)

> though not in the way Hydra reports (it shows point being on the ".."
> entry).)
If somehow, we have in such Dired buffer the point at ".." _before_
call `dired-revert', then _after_ revert the point is preserved:

(let ((test-dir (make-temp-file "test-dir-" t))
        (dired-auto-revert-buffer t)
	buffers buf)
    (with-current-buffer (setq buf (find-file-noselect test-dir))
      (make-directory "test-subdir"))
    (with-current-buffer buf (forward-line -1))
    (push (dired test-dir) buffers)
    (with-current-buffer buf (dired-get-filename t t)))
=> ".."
;; Return "test-subdir" when comment out line:
(with-current-buffer buf (forward-line -1))

We can insert additional `should' calls in the failing tests and
wait until next hydra failoure.

(Following just add more should forms into `dired-test-bug27243-01'; we
might do the same in `dired-test-bug27243-02' and `dired-test-bug27243-03').

--8<-----------------------------cut here---------------start------------->8---
commit 5483d883f753b5a2e0b45bff2a659b8d27a017a9
Author: Tino Calancha <tino.calancha@gmail.com>
Date:   Tue Aug 1 13:18:28 2017 +0900

    * test/lisp/dired-tests.el (dired-test-bug27243-01): Add more should forms

diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el
index d6fe839708..0ee4e13783 100644
--- a/test/lisp/dired-tests.el
+++ b/test/lisp/dired-tests.el
@@ -122,11 +122,18 @@
 
 (ert-deftest dired-test-bug27243-01 ()
   "Test for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27243#5 ."
-  (let ((test-dir (make-temp-file "test-dir-" t))
+  (let ((test-dir (file-name-as-directory (make-temp-file "test-dir-" t)))
         (dired-auto-revert-buffer t) buffers)
+    (should-not (dired-buffers-for-dir test-dir))
     (with-current-buffer (find-file-noselect test-dir)
       (make-directory "test-subdir"))
+    ;; Point must be at end-of-buffer.
+    (with-current-buffer (car (dired-buffers-for-dir test-dir))
+      (should (eobp)))
     (push (dired test-dir) buffers)
+    ;; Previous dired call shouldn't create a new buffer: must visit the one
+    ;; created by `find-file-noselect' above.
+    (should (eq 1 (length (dired-buffers-for-dir test-dir))))
     (unwind-protect
         (let ((buf (current-buffer))
               (pt1 (point))
@@ -135,11 +142,10 @@
           (write-region "Test" nil test-file nil 'silent nil 'excl)
           ;; Sanity check: point should now be on the subdirectory.
           (should (equal (dired-file-name-at-point)
-                         (concat (file-name-as-directory test-dir)
-                                 (file-name-as-directory "test-subdir"))))
+                         (concat test-dir (file-name-as-directory "test-subdir"))))
           (push (dired-find-file) buffers)
           (let ((pt2 (point)))          ; Point is on test-file.
-            (switch-to-buffer buf)
+            (pop-to-buffer-same-window buf)
             ;; Sanity check: point should now be back on the subdirectory.
             (should (eq (point) pt1))
             (push (dired-find-file) buffers)
--8<-----------------------------cut here---------------end--------------->8---
In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2017-07-31
Repository revision: 3a8d0cc825635e07da2a90c4ac987b476fc9b05d



  parent reply	other threads:[~2017-08-01  4:39 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-30 15:50 Question about test failure on Hydra Stephen Berman
2017-07-30 15:59 ` Eli Zaretskii
2017-07-30 20:23   ` Stephen Berman
2017-07-31  3:26     ` Eli Zaretskii
2017-07-31  9:20       ` Stephen Berman
2017-08-01  3:12         ` Eli Zaretskii
2017-08-01  9:57           ` Stephen Berman
2017-08-01 13:49             ` Eli Zaretskii
2017-08-01 15:23               ` Stephen Berman
2017-08-02 15:27                 ` Stephen Berman
2017-08-01  4:39         ` Tino Calancha [this message]
2017-08-01  9:57           ` Stephen Berman
2017-08-01 10:17             ` Tino Calancha
2017-08-01 10:47               ` Stephen Berman
2017-08-05 13:07               ` Tino Calancha
2017-08-05 21:34                 ` Stephen Berman
2017-08-03 19:41 ` tagging ERT tests with bug numbers (was: Question about test failure on Hydra) Ted Zlatanov
2017-08-04  7:22   ` tagging ERT tests with bug numbers Michael Albinus
2017-08-04 13:28     ` Ted Zlatanov
2017-08-04 14:50       ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87efsvkijt.fsf@calancha-pc \
    --to=tino.calancha@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=stephen.berman@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).