Re: [PATCH 1/2] test: emacs: call accept-process-output in notmuch-test-wait
[notmuch-archives.git] / c3 / d43b7f21e926aa83c093f56f1f24cc5e25185e
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 20474429E34\r
6         for <notmuch@notmuchmail.org>; Wed, 16 Nov 2011 17:57:08 -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 lyr-rV7ax7QD for <notmuch@notmuchmail.org>;\r
17         Wed, 16 Nov 2011 17:57:07 -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 2AE2D429E30\r
22         for <notmuch@notmuchmail.org>; Wed, 16 Nov 2011 17:57:00 -0800 (PST)\r
23 Received: by mail-bw0-f53.google.com with SMTP id q10so1456807bka.26\r
24         for <notmuch@notmuchmail.org>; Wed, 16 Nov 2011 17:56:59 -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=dpP8PQuexW7KBlfkp93CN1Itu4RNfHykJbI0EWUNK30=;\r
28         b=oJpe3MnCRGZt2C9ezaUdGhMwcvYA0L2qiuylhfvd/DXeZQ0iDIba8kTM+mQDLbDxho\r
29         xxLGZE/KO2jCjr9phBUk7CJ8vk7dDmORFtm9Fb8TXwCOExzWmKSCpiOcHSASH92aYfzw\r
30         DHfkeoJOmBaoW4eBKvDw5S81bwionmibepSSw=\r
31 Received: by 10.205.119.207 with SMTP id fv15mr31495318bkc.100.1321495019872; \r
32         Wed, 16 Nov 2011 17:56:59 -0800 (PST)\r
33 Received: from localhost ([91.144.186.21])\r
34         by mx.google.com with ESMTPS id x14sm40099088bkf.10.2011.11.16.17.56.59\r
35         (version=TLSv1/SSLv3 cipher=OTHER);\r
36         Wed, 16 Nov 2011 17:56:59 -0800 (PST)\r
37 From: Dmitry Kurochkin <dmitry.kurochkin@gmail.com>\r
38 To: notmuch@notmuchmail.org\r
39 Subject: [PATCH 6/9] test: skip all subtests if external dependencies are\r
40         missing during init\r
41 Date: Thu, 17 Nov 2011 05:56:23 +0400\r
42 Message-Id: <1321494986-18998-7-git-send-email-dmitry.kurochkin@gmail.com>\r
43 X-Mailer: git-send-email 1.7.7.2\r
44 In-Reply-To: <1321494986-18998-1-git-send-email-dmitry.kurochkin@gmail.com>\r
45 References: <1321494986-18998-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 01:57:08 -0000\r
59 \r
60 Some tests (e.g. crypto) do a common initialization required for all\r
61 subtests.  The patch adds a check for missing external dependencies\r
62 during this initialization.  If any prerequisites are missing, all\r
63 subtests are skipped.\r
64 \r
65 The check is run on the first call of test_reset_state_ function, so\r
66 no changes for the tests are needed.\r
67 ---\r
68  test/test-lib.sh |   10 ++++++++++\r
69  1 files changed, 10 insertions(+), 0 deletions(-)\r
70 \r
71 diff --git a/test/test-lib.sh b/test/test-lib.sh\r
72 index acac8ca..c11493d 100755\r
73 --- a/test/test-lib.sh\r
74 +++ b/test/test-lib.sh\r
75 @@ -880,44 +880,54 @@ test_emacs () {\r
76                 # start a detached session with an emacs server\r
77                 # user's TERM is given to dtach which assumes a minimally\r
78                 # VT100-compatible terminal -- and emacs inherits that\r
79                 TERM=$ORIGINAL_TERM dtach -n "$TMP_DIRECTORY/emacs-dtach-socket.$$" \\r
80                         sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \\r
81                                 --no-window-system \\r
82                                 --eval '(setq server-name \"$server_name\")' \\r
83                                 --eval '(server-start)' \\r
84                                 --eval '(orphan-watchdog $$)'" || return\r
85                 EMACS_SERVER="$server_name"\r
86                 # wait until the emacs server is up\r
87                 until test_emacs '()' 2>/dev/null; do\r
88                         sleep 1\r
89                 done\r
90         fi\r
91  \r
92         emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"\r
93  }\r
94  \r
95  test_reset_state_ () {\r
96 +       test -z "$test_init_done_" && test_init_\r
97 +\r
98         test_subtest_known_broken_=\r
99         test_subtest_missing_external_prereqs_=\r
100  }\r
101  \r
102 +# called once before the first subtest\r
103 +test_init_ () {\r
104 +       test_init_done_=t\r
105 +\r
106 +       # skip all tests if there were external prerequisites missing during init\r
107 +       test_check_missing_external_prereqs_ "all tests in $this_test" && test_done\r
108 +}\r
109 +\r
110  \r
111  find_notmuch_path ()\r
112  {\r
113      dir="$1"\r
114  \r
115      while [ -n "$dir" ]; do\r
116         bin="$dir/notmuch"\r
117         if [ -x "$bin" ]; then\r
118             echo "$dir"\r
119             return\r
120         fi\r
121         dir="$(dirname "$dir")"\r
122         if [ "$dir" = "/" ]; then\r
123             break\r
124         fi\r
125      done\r
126  }\r
127  \r
128  # Test the binaries we have just built.  The tests are kept in\r
129  # test/ subdirectory and are run in 'trash directory' subdirectory.\r
130 -- \r
131 1.7.7.2\r
132 \r