unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
blob f3e725cabaac90021a1cb073ac8be554609a66bf 1958 bytes (raw)
name: test/T590-thread-breakage.sh 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
#!/usr/bin/env bash
#
# Copyright (c) 2016 Daniel Kahn Gillmor
#

test_description='thread breakage by reindexing (currently broken)'

. ./test-lib.sh || exit 1

message_a() {
    mkdir -p ${MAIL_DIR}/cur
    cat > ${MAIL_DIR}/cur/a <<EOF
Subject: First message
Message-ID: <a@example.net>
From: Alice <alice@example.net>
To: Bob <bob@example.net>
Date: Thu, 31 Mar 2016 20:10:00 -0400

This is the first message in the thread.
Apple
EOF
}

message_b() {
    mkdir -p ${MAIL_DIR}/cur
    cat > ${MAIL_DIR}/cur/b <<EOF
Subject: Second message
Message-ID: <b@example.net>
In-Reply-To: <a@example.net>
References: <a@example.net>
From: Bob <bob@example.net>
To: Alice <alice@example.net>
Date: Thu, 31 Mar 2016 20:15:00 -0400

This is the second message in the thread.
Banana
EOF
}


test_subject_count() {
    notmuch new >/dev/null
    test_begin_subtest "${3:-looking for $2 instance of '$1'}"
    count=$(notmuch count --output=threads "$1")
    test_expect_equal "$count" "$2"
}

test_thread_count() {
    notmuch new >/dev/null
    test_begin_subtest "${2:-Expecting $1 thread(s)}"
    count=$(notmuch count --output=threads)
    test_expect_equal "$count" "$1"
}

test_thread_count 0 'There should be no threads initially'

message_a
test_thread_count 1 'One message in: one thread'
test_subject_count apple 1
test_subject_count banana 0

message_b
test_thread_count 1 'Second message in the same thread: one thread'
test_subject_count apple 1
test_subject_count banana 1

rm -f ${MAIL_DIR}/cur/a
test_thread_count 1 'First message removed: still only one thread'
test_subject_count apple 0
test_subject_count banana 1

message_a
# this is known to fail (it shows 2 threads) because no "ghost
# message" was created for message A when it was removed from the
# index, despite message B still pointing to it.
test_thread_count 1 'First message reappears: should return to the same thread'
test_subject_count apple 1
test_subject_count banana 1

test_done

debug log:

solving f3e725c ...
found f3e725c in https://yhetil.org/notmuch/1459553515-18802-1-git-send-email-dkg@fifthhorseman.net/ ||
	https://yhetil.org/notmuch/1459606541-23889-2-git-send-email-dkg@fifthhorseman.net/
found 704f504 in https://yhetil.org/notmuch/1459445693-3900-1-git-send-email-dkg@fifthhorseman.net/ ||
	https://yhetil.org/notmuch/1459606541-23889-1-git-send-email-dkg@fifthhorseman.net/

applying [1/2] https://yhetil.org/notmuch/1459445693-3900-1-git-send-email-dkg@fifthhorseman.net/
diff --git a/test/T590-thread-breakage.sh b/test/T590-thread-breakage.sh
new file mode 100755
index 0000000..704f504

Checking patch test/T590-thread-breakage.sh...
Applied patch test/T590-thread-breakage.sh cleanly.

skipping https://yhetil.org/notmuch/1459606541-23889-1-git-send-email-dkg@fifthhorseman.net/ for 704f504
index at:
100755 704f5048e1a43287484fcfe203a5ddf35026f4a6	test/T590-thread-breakage.sh

applying [2/2] https://yhetil.org/notmuch/1459553515-18802-1-git-send-email-dkg@fifthhorseman.net/
diff --git a/test/T590-thread-breakage.sh b/test/T590-thread-breakage.sh
index 704f504..f3e725c 100755

Checking patch test/T590-thread-breakage.sh...
Applied patch test/T590-thread-breakage.sh cleanly.

skipping https://yhetil.org/notmuch/1459606541-23889-2-git-send-email-dkg@fifthhorseman.net/ for f3e725c
index at:
100755 f3e725cabaac90021a1cb073ac8be554609a66bf	test/T590-thread-breakage.sh

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).