[PATCH v2 09/10] test: check if emacs is available in the beginning of test_emacs
[notmuch-archives.git] / dd / 0862be99300932d5c7f547e173956da7b5c9f6
1 Return-Path: <dmitry.kurochkin@gmail.com>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 5B815429E44\r
6         for <notmuch@notmuchmail.org>; Thu, 17 Nov 2011 05:07:17 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -0.799\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-0.799 tagged_above=-999 required=5\r
12         tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
13         FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
14 Received: from olra.theworths.org ([127.0.0.1])\r
15         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
16         with ESMTP id GOVcbohdzurr for <notmuch@notmuchmail.org>;\r
17         Thu, 17 Nov 2011 05:07:15 -0800 (PST)\r
18 Received: from mail-bw0-f53.google.com (mail-bw0-f53.google.com\r
19         [209.85.214.53]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
20         (No client certificate requested)\r
21         by olra.theworths.org (Postfix) with ESMTPS id 310A2429E3B\r
22         for <notmuch@notmuchmail.org>; Thu, 17 Nov 2011 05:06:45 -0800 (PST)\r
23 Received: by mail-bw0-f53.google.com with SMTP id q10so2108290bka.26\r
24         for <notmuch@notmuchmail.org>; Thu, 17 Nov 2011 05:06:44 -0800 (PST)\r
25 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;\r
26         h=from:to:subject:date:message-id:x-mailer:in-reply-to:references;\r
27         bh=/ks8RgAr1eNNIN4DfTJmWgMhZBvP/UnNg2d4q+JdyH8=;\r
28         b=bLBKMVKh0wJ7jUW95ODZxMTbPycyH9oNbM8Bbabtx78ou08xIf2J83UpT2fOqZDAh4\r
29         BSpLUoxGdNg9MBoiov8aYU3xWfRLl9I7n3AnDQ1DpfY/ucAoSjZfx0gEe697HLo1hwie\r
30         gCiXPO2E7KNyzFqQOsLuzIyHY3tPPJd7yNTIM=\r
31 Received: by 10.204.136.211 with SMTP id s19mr26766826bkt.28.1321535204902;\r
32         Thu, 17 Nov 2011 05:06:44 -0800 (PST)\r
33 Received: from localhost ([91.144.186.21])\r
34         by mx.google.com with ESMTPS id e18sm20413744bkr.15.2011.11.17.05.06.43\r
35         (version=TLSv1/SSLv3 cipher=OTHER);\r
36         Thu, 17 Nov 2011 05:06:44 -0800 (PST)\r
37 From: Dmitry Kurochkin <dmitry.kurochkin@gmail.com>\r
38 To: notmuch@notmuchmail.org\r
39 Subject: [PATCH v2 09/10] test: check if emacs is available in the beginning\r
40         of test_emacs\r
41 Date: Thu, 17 Nov 2011 17:06:02 +0400\r
42 Message-Id: <1321535163-4895-10-git-send-email-dmitry.kurochkin@gmail.com>\r
43 X-Mailer: git-send-email 1.7.7.2\r
44 In-Reply-To: <1321535163-4895-1-git-send-email-dmitry.kurochkin@gmail.com>\r
45 References: <1321535163-4895-1-git-send-email-dmitry.kurochkin@gmail.com>\r
46 X-BeenThere: notmuch@notmuchmail.org\r
47 X-Mailman-Version: 2.1.13\r
48 Precedence: list\r
49 List-Id: "Use and development of the notmuch mail system."\r
50         <notmuch.notmuchmail.org>\r
51 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
52         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
53 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
54 List-Post: <mailto:notmuch@notmuchmail.org>\r
55 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
56 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
57         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
58 X-List-Received-Date: Thu, 17 Nov 2011 13:07:18 -0000\r
59 \r
60 Unfortunately, this is needed to avoid the emacs waiting loop.\r
61 ---\r
62  test/test-lib.sh |    4 ++++\r
63  1 files changed, 4 insertions(+), 0 deletions(-)\r
64 \r
65 diff --git a/test/test-lib.sh b/test/test-lib.sh\r
66 index 5a99216..21e3162 100755\r
67 --- a/test/test-lib.sh\r
68 +++ b/test/test-lib.sh\r
69 @@ -872,40 +872,44 @@ export NOTMUCH_CONFIG=$NOTMUCH_CONFIG\r
70  \r
71  # Here's what we are using here:\r
72  #\r
73  # --no-init-file       Don't load users ~/.emacs\r
74  #\r
75  # --no-site-file       Don't load the site-wide startup stuff\r
76  #\r
77  # --directory          Ensure that the local elisp sources are found\r
78  #\r
79  # --load               Force loading of notmuch.el and test-lib.el\r
80  \r
81  exec emacs --no-init-file --no-site-file \\r
82         --directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \\r
83         --directory "$TEST_DIRECTORY" --load test-lib.el \\r
84         "\$@"\r
85  EOF\r
86         chmod a+x "$TMP_DIRECTORY/run_emacs"\r
87  }\r
88  \r
89  test_emacs () {\r
90 +       # test dependencies beforehand to avoid the waiting loop below\r
91 +       test_require_external_prereq emacs || return\r
92 +       test_require_external_prereq emacsclient || return\r
93 +\r
94         if [ -z "$EMACS_SERVER" ]; then\r
95                 server_name="notmuch-test-suite-$$"\r
96                 # start a detached session with an emacs server\r
97                 # user's TERM is given to dtach which assumes a minimally\r
98                 # VT100-compatible terminal -- and emacs inherits that\r
99                 TERM=$ORIGINAL_TERM dtach -n "$TMP_DIRECTORY/emacs-dtach-socket.$$" \\r
100                         sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \\r
101                                 --no-window-system \\r
102                                 --eval '(setq server-name \"$server_name\")' \\r
103                                 --eval '(server-start)' \\r
104                                 --eval '(orphan-watchdog $$)'" || return\r
105                 EMACS_SERVER="$server_name"\r
106                 # wait until the emacs server is up\r
107                 until test_emacs '()' 2>/dev/null; do\r
108                         sleep 1\r
109                 done\r
110         fi\r
111  \r
112         emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"\r
113  }\r
114 -- \r
115 1.7.7.2\r
116 \r