#!/usr/bin/env bash test_description='notmuch show --format=raw' . $(dirname "$0")/test-lib.sh || exit 1 add_message add_message test_begin_subtest "Attempt to show multiple raw messages" output=$(notmuch show --format=raw "*" 2>&1) test_expect_equal "$output" "Error: search term did not match precisely one message (matched 2 messages)." test_begin_subtest "Show a raw message" output=$(notmuch show --format=raw id:msg-001@notmuch-test-suite | notmuch_date_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite To: Notmuch Test Suite Message-Id: Subject: Test message #1 Date: GENERATED_DATE This is just a test message (#1)" test_begin_subtest "Show another raw message" output=$(notmuch show --format=raw id:msg-002@notmuch-test-suite | notmuch_date_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite To: Notmuch Test Suite Message-Id: Subject: Test message #2 Date: GENERATED_DATE This is just a test message (#2)" test_begin_subtest "generating 4096 byte message" line=$(seq 1 72 | sed 's/.*/./' | tr -d '\n') for i in $(seq 1 53); do printf "%s\n" "$line" >> BODY done # The last newline is added by add_message printf "01234567890123456789012345" >> BODY add_message '[subject]="4096"' '[body]="$(cat BODY)"' output="$((`wc -c < $gen_msg_filename`))" test_expect_equal 4096 "$output" test_begin_subtest "Show a raw message exactly 4096 bytes: no error" test_subtest_known_broken test_expect_success "notmuch show --format=raw subject:4096 1>/dev/null" test_begin_subtest "Show a raw message exactly 4096 bytes: correct output" notmuch show --format=raw subject:4096 | notmuch_date_sanitize > OUTPUT cat < EXPECTED From: Notmuch Test Suite To: Notmuch Test Suite Message-Id: Subject: 4096 Date: GENERATED_DATE EOF cat BODY >> EXPECTED printf "\n" >> EXPECTED test_expect_equal_file EXPECTED OUTPUT test_done