On Thu, Aug 02 2012, Jameson Graef Rollins <jroll...@finestructure.net> wrote:
> On Wed, Aug 01 2012, David Bremner <da...@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 > notm...@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org