[PATCH 2/2] test: use subtest name for generated message subject by default

Dmitry Kurochkin dmitry.kurochkin at gmail.com
Mon Jan 30 14:06:35 PST 2012


Before the change, messages generated by generate_message() used "Test
message #N" for default subject where N is the generated messages
counter.  Since message subject is commonly present in expected
results, there is a chance of breaking other tests when a new
generate_message() call is added.  The patch changes default subject
value for generated messages to subtest name if it is available.  If
subtest name is not available (i.e. message is generated during test
initialization), the old default value is used (in this case it is
fine to have the counter in the subject).

Another benefit of this change is a sane default value for subject in
generated messages, which would allow to simplify code like:

  test_begin_subtest "test for a cool feature"
  add_message [subject]="message for test for a cool feature"
---
 test/encoding                |    2 +-
 test/search-folder-coherence |    2 +-
 test/test-lib.sh             |    6 +++++-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/test/encoding b/test/encoding
index 33259c1..dbaceb0 100755
--- a/test/encoding
+++ b/test/encoding
@@ -9,7 +9,7 @@ output=$(notmuch show id:${gen_msg_id} 2>&1 | notmuch_show_sanitize)
 test_expect_equal "$output" "message{ id:msg-001 at notmuch-test-suite depth:0 match:1 filename:/XXX/mail/msg-001
 header{
 Notmuch Test Suite <test_suite at notmuchmail.org> (2001-01-05) (inbox unread)
-Subject: Test message #1
+Subject: Message with text of unknown charset
 From: Notmuch Test Suite <test_suite at notmuchmail.org>
 To: Notmuch Test Suite <test_suite at notmuchmail.org>
 Date: Fri, 05 Jan 2001 15:43:57 +0000
diff --git a/test/search-folder-coherence b/test/search-folder-coherence
index f8119cb..3f6ec76 100755
--- a/test/search-folder-coherence
+++ b/test/search-folder-coherence
@@ -32,7 +32,7 @@ test_expect_equal_file OUTPUT EXPECTED
 
 test_begin_subtest "Test matches folder:spam"
 output=$(notmuch search folder:spam)
-test_expect_equal "$output" "thread:0000000000000001   2001-01-05 [1/1] Notmuch Test Suite; Test message #1 (inbox unread)"
+test_expect_equal "$output" "thread:0000000000000001   2001-01-05 [1/1] Notmuch Test Suite; Single new message (inbox unread)"
 
 test_begin_subtest "Remove folder:spam copy of email"
 rm $dir/spam/$(basename $file_x)
diff --git a/test/test-lib.sh b/test/test-lib.sh
index 8158328..94efdc1 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -318,7 +318,11 @@ generate_message ()
     fi
 
     if [ -z "${template[subject]}" ]; then
-	template[subject]="Test message #${gen_msg_cnt}"
+	if [ -n "$test_subtest_name" ]; then
+	    template[subject]="$test_subtest_name"
+	else
+	    template[subject]="Test message #${gen_msg_cnt}"
+	fi
     fi
 
     if [ -z "${template[date]}" ]; then
-- 
1.7.8.3



More information about the notmuch mailing list