all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "João Távora" <joaotavora@gmail.com>
To: Alan Mackenzie <acm@muc.de>
Cc: Michael Albinus <michael.albinus@gmx.de>, 47320-done@debbugs.gnu.org
Subject: bug#47320: Improve failure reporting in test/lisp/electrict-tests.el
Date: Wed, 24 Mar 2021 20:10:48 +0000	[thread overview]
Message-ID: <CALDnm53ENAKZPg9UZAtyj+EE7ok310trWqsjUZ9xP8-b21Tyug@mail.gmail.com> (raw)
In-Reply-To: <YFuWPo/nh9SEwiBi@ACM>

[-- Attachment #1: Type: text/plain, Size: 3072 bytes --]

Hello Alan,

> I just committed the patch as it was.  Sorry.

I don't much see the point in asking for comments from people
and then proceeding to ignore the simplest request for adjustments
outright.
You did write "if there are no objections...". Well I had a small
objection. I get it that following Michael's idea, which is probably
better, takes a little bit more work, but a simple adjustment
to avoid code repetition could certainly be accommodated.

FWIW I've quickly tried with this version and it seems to work
fine:

(defun electric-pair-test-for (fixture where char expected-string
                                       expected-point mode bindings
                                       fixture-fn &optional doc-string)
  (with-temp-buffer
    (funcall mode)
    (insert fixture)
    (save-electric-modes
      (let ((last-command-event char)
            (transient-mark-mode 'lambda))
        (goto-char where)
        (funcall fixture-fn)
        (cl-progv
            (mapcar #'car bindings)
            (mapcar #'cdr bindings)
          (call-interactively (key-binding `[,last-command-event])))))
    (unless (equal (buffer-substring-no-properties (point-min) (point-max))
                   expected-string)
      (when doc-string (message "\n%s\n" doc-string))
      (ert-fail (format
                 "buffer contents don't match! (observed %s, expected %s)"
                 (buffer-string) expected-string)))
    (unless (equal (point) expected-point)
      (when doc-string (message "\n%s\n" doc-string))
      (ert-fail
       (format "point isn't where it was supposed to be! (observed %s,
expected %s)"
               (point) expected-point)))))




On Wed, Mar 24, 2021 at 7:42 PM Alan Mackenzie <acm@muc.de> wrote:
>
> Hello again, João.
>
> On Wed, Mar 24, 2021 at 14:02:58 +0000, João Távora wrote:
> > On Wed, Mar 24, 2021 at 1:46 PM Alan Mackenzie <acm@muc.de> wrote:
>
> > > I'm having some difficulty getting my head around the "explanation"
> > > functionality of ert, which leans me towards my initial plan.
>
> > > Here's the patch (actually written quite a long time ago) I would
like to
> > > merge into electric-tests.el:
>
> > As far as I understand, this just stores the big explanation string in
> > a variable, and uses it both for putting into the `ert-deftest` 's
docstring
> > as well as for logging with message(), right?  If so, it's fine to add.
>
> > Maybe you could leverage `ert-fail` instead of checking the test's
> > main assertion twice, once in should, and once when deciding
> > whether to log.
>
> In the end, I couldn't get that to work - the handler for the signal, in
> outputting the doc string, replaced all the \n's with the octal
> read-syntax, "\\12".  This left the text readable only with effort.
>
> > I'd say, just check it once and put both logging and `ert-fail` inside
the if.
>
> I just committed the patch as it was.  Sorry.
>
> > João
>
> --
> Alan Mackenzie (Nuremberg, Germany).



-- 
João Távora

[-- Attachment #2: Type: text/html, Size: 3780 bytes --]

  reply	other threads:[~2021-03-24 20:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22 14:24 bug#47320: Improve failure reporting in test/lisp/electrict-tests.el Alan Mackenzie
2021-03-23  8:53 ` Michael Albinus
2021-03-23 14:47   ` Alan Mackenzie
2021-03-23 15:24     ` Michael Albinus
2021-03-23 15:59       ` João Távora
2021-03-24 13:46         ` Alan Mackenzie
2021-03-24 14:02           ` João Távora
2021-03-24 19:42             ` Alan Mackenzie
2021-03-24 20:10               ` João Távora [this message]
2021-03-25 13:43                 ` Alan Mackenzie
2021-03-25 23:47                   ` João Távora

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

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

  git send-email \
    --in-reply-to=CALDnm53ENAKZPg9UZAtyj+EE7ok310trWqsjUZ9xP8-b21Tyug@mail.gmail.com \
    --to=joaotavora@gmail.com \
    --cc=47320-done@debbugs.gnu.org \
    --cc=acm@muc.de \
    --cc=michael.albinus@gmx.de \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.