From 2c1ecbe4a678963e6b1619e1703748ec116a8fcd Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Thu, 30 Mar 2017 15:46:47 +0200 Subject: t: beginnings of a test suite --- t/1000-mmime.t | 17 +++++++++++++++ t/2000-mpick.t | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ t/lib.sh | 24 +++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100755 t/1000-mmime.t create mode 100755 t/2000-mpick.t create mode 100644 t/lib.sh (limited to 't') diff --git a/t/1000-mmime.t b/t/1000-mmime.t new file mode 100755 index 0000000..a8be968 --- /dev/null +++ b/t/1000-mmime.t @@ -0,0 +1,17 @@ +#!/bin/sh -e +cd ${0%/*} +. ./lib.sh +plan 4 + +cat <tmp +References: + +Body +EOF + +# https://github.com/chneukirchen/mblaze/issues/20 + +check 'mime -r runs' 'mmime -r tmp2' +check 'no overlong lines' '[ $(wc -L "inbox/cur/1:2,S" +From: Peter Example +Subject: Hey whats up? +Date: Thu, 30 Mar 2017 15:41:17 +0200 +Message-Id: + +Greetings +! + +cat <"inbox/cur/9:2," +From: Peter Example +Subject: wow nice subject +Date: Thu, 30 Mar 2017 15:42:00 +0200 +Message-Id: + +shit happens +! + +cat <"inbox/cur/5:2,T" +From: Obvious spam +Subject: look at this awesome pdf +Date: Thu, 30 Mar 2017 15:42:05 +0200 +Message-Id: + +Check my resume! + +Greetings + +#application/pdf ../../mshow +! + +check 'search subject' 'mlist inbox | mpick /wow | grep -q inbox/cur/9:2,' +check 'search addr' 'mlist inbox | mpick peter@example.org | wc -l | grep -qx 2' +check 'search name' 'mlist inbox | mpick "Peter Example" | wc -l | grep -qx 2' +check 'search spam' 'mlist inbox | mpick -t "trashed && subject =~ \"pdf\"" | wc -l | grep -qx 1' + +) diff --git a/t/lib.sh b/t/lib.sh new file mode 100644 index 0000000..81c2dd1 --- /dev/null +++ b/t/lib.sh @@ -0,0 +1,24 @@ +plan() { + printf '1..%d\n' "$1" +} + +check() { + msg=$1 + shift + if eval "$@" 2>/dev/null 1>&2; then + printf 'ok - %s\n' "$msg" + else + printf 'not ok - %s\n' "$msg" + false + fi + true +} + +check_same() { + msg=$1 + shift + eval "$1" 2>/dev/null 1>&2 >out1 || true + eval "$2" 2>/dev/null 1>&2 >out2 || true + diff -u out1 out2 || true + check "$msg" cmp out1 out2 +} -- cgit 1.4.1