emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Nick Dokos <ndokos@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: ``make test'' failure
Date: Wed, 01 Nov 2017 21:57:55 +0100	[thread overview]
Message-ID: <877ev91zu4.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <87h8ufyrdt.fsf@alphaville.usersys.redhat.com> (Nick Dokos's message of "Tue, 31 Oct 2017 16:49:34 -0400")

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

Hello,

Nick Dokos <ndokos@gmail.com> writes:

> I get one failure in test-org-publish/resolve-external-link.
> Bisecting fingers this commit:
>
> ,----
> | $ git bisect good
> | 007bbddbccfd06ab9c97d51bf833a068cb1b07a2 is the first bad commit
> | commit 007bbddbccfd06ab9c97d51bf833a068cb1b07a2
> | Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
> | Date:   Sun Sep 10 00:16:12 2017 +0200
> | 
> |     ox-html: Prevent spurious target below headlines
> |     
> |     * lisp/ox-html.el (org-html-headline):
> |     (org-html-link): Do not insert an additional target.
> |     
> |     * lisp/ox-publish.el (org-publish-resolve-external-link): Add an
> |       optional argument.
> |     
> |     * lisp/ox.el (org-export-get-reference): Improve docstring.
> |     
> |     * testing/examples/pub/a.org:
> |     * testing/examples/pub/b.org: New files.
> |     * testing/lisp/test-ox-publish.el (test-org-publish/resolve-external-link):
> |       New test.
> | 
> | :040000 040000 fda080e0db653c9049448200be5ad03369379cc3 ec0eb8a5cd9b3c3b204fd7134e515fb360b85c79 M	etc
> | :040000 040000 39afe6514335e2ccd549fc5b7fafcac344cbb471 a0fdf6967cc3ab95b046f81dab08095fe0d302de M	lisp
> | :040000 040000 120e098640643a963336d77d65929ef5863eeba5 679329e78a4bbc04f6f84bb176821a3084732ab3 M	testing
> `----
>
> which *introduced* this test, but of course the test may be at fault,
> rather than the code.

There is a non-deterministic part in that failure since neither our
Build nor my machine can reproduce it.

Could you try the following patch and tell me if the test succeed?

Thank you.

Regards,

-- 
Nicolas Goaziou

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Fix-failing-test.patch --]
[-- Type: text/x-diff, Size: 2631 bytes --]

From dc8d8d1b9bf92d9fe826cfe8a13c6ad89c1f9c8e Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Wed, 1 Nov 2017 17:54:12 +0100
Subject: [PATCH] Fix failing test

* testing/lisp/test-ox-publish.el (test-org-publish/resolve-external-link):
  Rewrite test to prevent race condition which could affect results.
* testing/examples/pub/b.org: Add missing keyword.
---
 testing/examples/pub/b.org      |  3 +++
 testing/lisp/test-ox-publish.el | 34 ++++++++++++++++++----------------
 2 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/testing/examples/pub/b.org b/testing/examples/pub/b.org
index 60387460e..261152e99 100644
--- a/testing/examples/pub/b.org
+++ b/testing/examples/pub/b.org
@@ -2,5 +2,8 @@
 #+date: <2012-03-29 Thu>
 
 * Headline1
+:PROPERTIES:
+:CUSTOM_ID: b1
+:END:
 
 [[file:a.org::#a1]]
diff --git a/testing/lisp/test-ox-publish.el b/testing/lisp/test-ox-publish.el
index a51190578..0c3aaedca 100644
--- a/testing/lisp/test-ox-publish.el
+++ b/testing/lisp/test-ox-publish.el
@@ -366,27 +366,29 @@ Unless set otherwise in PROPERTIES, `:base-directory' is set to
   ;; instead of internal reference, whenever possible.
   (should
    (equal
-    "a1"
+    '("a1" "b1")
     (let* ((ids nil)
+	   (link-transcoder
+	    (lambda (l c i)
+	      (let ((option (org-element-property :search-option l))
+		    (path (org-element-property :path l)))
+		(push (org-publish-resolve-external-link option path t)
+		      ids)
+		"")))
 	   (backend
 	    (org-export-create-backend
-	     :transcoders
-	     '((headline . (lambda (h c i) c))
-	       (paragraph . (lambda (p c i) c))
-	       (section . (lambda (s c i) c))
-	       (link . (lambda (l c i)
-			 (let ((option (org-element-property :search-option l))
-			       (path (org-element-property :path l)))
-			   (when option
-			     (throw :exit (org-publish-resolve-external-link
-					   option path t)))))))))
+	     :transcoders `((headline . (lambda (h c i) c))
+			    (paragraph . (lambda (p c i) c))
+			    (section . (lambda (s c i) c))
+			    (link . ,link-transcoder))))
 	   (publish
 	    (lambda (plist filename pub-dir)
-	      (push (catch :exit
-		      (org-publish-org-to backend filename ".test" plist pub-dir))
-		    ids))))
-      (org-test-publish (list :publishing-function (list publish)) #'ignore)
-      (car ids)))))
+	      (org-publish-org-to backend filename ".test" plist pub-dir))))
+      (org-test-publish (list :publishing-function (list publish)
+			      :exclude "."
+			      :include '("a.org" "b.org"))
+	#'ignore)
+      (sort ids #'string<)))))
 
 \f
 ;;; Tools
-- 
2.14.3


  reply	other threads:[~2017-11-01 20:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-31 20:49 ``make test'' failure Nick Dokos
2017-11-01 20:57 ` Nicolas Goaziou [this message]
2017-11-02 16:15   ` Nick Dokos
2017-11-03 21:17     ` Nicolas Goaziou
2017-11-06  0:32       ` Nick Dokos
  -- strict thread matches above, loose matches on Subject: below --
2013-02-11 17:19 "make test" failure Nick Dokos
2013-02-11 17:33 ` Bastien

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.orgmode.org/

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

  git send-email \
    --in-reply-to=877ev91zu4.fsf@nicolasgoaziou.fr \
    --to=mail@nicolasgoaziou.fr \
    --cc=emacs-orgmode@gnu.org \
    --cc=ndokos@gmail.com \
    /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/org-mode.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).