mblaze/t/3000-magrep.t
Duncaen a604469303 t: add test case for latest magrep crash
This crash was reported in #76 and resolved with
commit 6239ef35357824308df079bd6df0dc4b202e898.
2017-11-11 17:27:00 +01:00

195 lines
5.9 KiB
Bash

#!/bin/sh -e
cd ${0%/*}
. ./lib.sh
plan 10
rm -rf test.dir
mkdir test.dir
(
cd test.dir
mkdir -p "inbox/cur"
cat <<! | mmime >"inbox/cur/1:2,"
From: Piet Pompies <piet@lpompies.com>
Subject: wow nice subject
Date: Thu, 30 Mar 2017 15:42:05 +0200
Message-Id: <EOH1F3NUOY.2KBVMHSBFATNY@example.org>
shit happens
!
cat <<! | mmime >"inbox/cur/2:2,"
From: Piet Pompies <piet@pompies.com>
Subject: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Date: Thu, 30 Mar 2017 15:42:05 +0200
Message-Id: <EOH1F3NUOY.2KBVMHSBFATNY@example.org>
Greetings
!
cat <<! | mmime >"inbox/cur/3:2,"
From: Piet Pompies <piet@pompies.com>
Subject: 1 multi subject one
Subject: 2 multi subject two
Subject: 3 multi subject three
Date: Thu, 30 Mar 2017 15:42:05 +0200
Message-Id: <EOH1F3NUOY.2KBVMHSBFATNY@example.org>
!
cat <<! | mmime >"inbox/cur/4:2,"
To: "John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>,
"John Doe" <example@example.com>
!
cat <<! >seq
inbox/cur/1:2,
inbox/cur/2:2,
inbox/cur/3:2,
inbox/cur/4:2,
!
export MAILSEQ=seq
check_test 'subject' -eq 1 'magrep subject:nice | wc -l'
check_test 'ignorecase' -eq 1 'magrep -i subject:NICE | wc -l'
check_test 'invert' -eq 2 'magrep -v subject:nice | wc -l'
check_test 'max matches' -eq 2 'magrep -m 2 from:Piet | wc -l'
check_test 'long subject' -eq 1 'magrep subject:aliqua | wc -l'
check_test 'decode large rfc2047 header' -eq 1 'magrep -d to:John | wc -l'
echo 'inbox/cur/1:2,: subject: wow nice subject' >expect
check_same 'print' 'magrep -p subject:nice' 'cat expect'
echo 'inbox/cur/1:2,: subject: nice' >expect
check_same 'print match' 'magrep -po subject:nice' 'cat expect'
echo 'nice' >expect
check_same 'print match only' 'magrep -o subject:nice' 'cat expect'
echo 'inbox/cur/3:2,' >expect
check_same 'multiple subjects' 'magrep subject:multi' 'cat expect'
)