Bug#683505: notmuch: FTBFS if built twice in a row: unrepresentable changes to source
Tomi Ollila
tomi.ollila at iki.fi
Thu Aug 2 03:18:47 PDT 2012
On Thu, Aug 02 2012, Jameson Graef Rollins <jrollins at finestructure.net> wrote:
> On Wed, Aug 01 2012, David Bremner <david at tethera.net> wrote:
>> As I mentioned on IRC, the test only fails on the Debian build machines
>> (building in a clean chroot using sbuild is not enough) so it isn't
>> really clear how to duplicate the it. Perhaps building in a clean
>> virtual machine without networking would do it. For which tests fail,
>> see
>>
>> https://buildd.debian.org/status/fetch.php?pkg=notmuch&arch=i386&ver=0.13.2-1&stamp=1338740444
>>
>> I think the first things to fail are emacs tests. At a wild guess, it
>> looks like all of the failing tests are related to emacs.
>
> From a cursory look that does appear to be the case. The non-emacs
> tests that are also failing (json and crypto) are using
> emacs_deliver_message. Do we have any idea what's going on here?
is this related (still in my personal patches pool):
diff --git a/test/test-lib.el b/test/test-lib.el
index 6271da2..503a130 100644
--- a/test/test-lib.el
+++ b/test/test-lib.el
@@ -35,6 +35,16 @@
"Disable yes-or-no-p before executing kill-emacs"
(defun yes-or-no-p (prompt) t)))
+;; Work around a problem with
+;; GNU Emacs 23.1.1 (x86_64-redhat-linux-gnu) of 2011-03-26 on sl6.fnal.gov
+;; where get-buffer-process doesn't return nil without (list-processes)
+;; (value of delete-exited-process is t)
+
+(if (string= emacs-version "23.1.1")
+ (defadvice get-buffer-process (before run-list-processes activate)
+ "run (list-processes) before executing get-buffer-process"
+ (list-processes)))
+
(defun notmuch-test-wait ()
"Wait for process completion."
(while (get-buffer-process (current-buffer))
I also have a commit message:
Subject: [PATCH] test: emacs: run list-processes before get-buffer-process in emacs 23.1.1
The function get-buffer-process does not return nil when process has
exited in some (if not every) emacs 23.1.1 versions, even the value
of delete-exited-process is t. Particularly, GNU Emacs 23.1.1
(x86_64-redhat-linux-gnu) of 2011-03-26 on sl6.fnal.gov has this
problem -- the execution halts when running emacs tests.
In this emacs version, when defadvice is used to run list-processes
before get-buffer-process the problem seems to be fixed -- emacs
tests run fine.
To fix this permanently, this defadvice is added to the starting
emacs when emacs-version equals "23.1.1".
---
It took me a while to get tests running on Scientific Linux 6 which
has this particular emacs version. I tried all kinds of hacks to get
it working -- this works best (or, actually, is the only one that works).
I just don't understand why... Maybe the emacs-server -interaction brings
some hard-to-spot interferences into equation...
In the above 'buildd' output emacs 23.4 is used and therefore this patch
in the current format would be no-op there.
In the buildd environment, just adding the follwing lines to test/test-lib.el
(defadvice get-buffer-process (before run-list-processes activate)
"run (list-processes) before executing get-buffer-process"
(list-processes))
could be tried.
Tomi
>
>> I don't think failing the build is the right thing to do, since there
>> does not actually seem to be anything wrong with the resulting
>> packages. So removing them from Debian because of some problems with
>> running the test suite seems a bit extreme. People not using
>> notmuch-emacs would probably be especially annoyed ;).
>
> But it also doesn't make much sense to me to run the tests as part of
> the build only to ignore the result. How do we know that the failing
> tests aren't actually affecting the distributed packages? The emacs
> failures could be masking real failures of the emacs interface (which
> users of notmuch-emacs would probably also find really annoying!).
>
> jamie.
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list