X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT240-dump-restore.sh;h=7ea35953aecd3c23cba72b714d0bc2aaf819b9a9;hp=b6d860202df923357c92a1bed982a7bb79198fa7;hb=704bd3d8a249b4041aa6a4204032f2b336f374e8;hpb=de71c4d734bda72eb54b2874935dbd948610ddbe diff --git a/test/T240-dump-restore.sh b/test/T240-dump-restore.sh index b6d86020..7ea35953 100755 --- a/test/T240-dump-restore.sh +++ b/test/T240-dump-restore.sh @@ -1,7 +1,15 @@ #!/usr/bin/env bash test_description="\"notmuch dump\" and \"notmuch restore\"" -. ./test-lib.sh +. ./test-lib.sh || exit 1 +NOTMUCH_NEW > /dev/null +test_begin_subtest "dump header" +test_subtest_known_broken +cat < EXPECTED +#notmuch-dump batch-tag:2 config,properties,tags +EOF +notmuch dump > OUTPUT +test_expect_equal_file EXPECTED OUTPUT add_email_corpus test_expect_success 'Dumping all tags' \ @@ -80,10 +88,24 @@ notmuch dump --gzip --output=dump-gzip-outfile.gz gunzip dump-gzip-outfile.gz test_expect_equal_file dump.expected dump-gzip-outfile +test_begin_subtest "restoring gzipped stdin" +notmuch dump --gzip --output=backup.gz +notmuch tag +new_tag '*' +notmuch restore < backup.gz +notmuch dump --output=dump.actual +test_expect_equal_file dump.expected dump.actual + +test_begin_subtest "restoring gzipped file" +notmuch dump --gzip --output=backup.gz +notmuch tag +new_tag '*' +notmuch restore --input=backup.gz +notmuch dump --output=dump.actual +test_expect_equal_file dump.expected dump.actual + # Note, we assume all messages from cworth have a message-id # containing cworth.org -grep 'cworth[.]org' dump.expected > dump-cworth.expected +{ head -1 dump.expected ; grep 'cworth[.]org' dump.expected; } > dump-cworth.expected test_begin_subtest "dump -- from:cworth" notmuch dump -- from:cworth > dump-dash-cworth.actual @@ -104,16 +126,16 @@ notmuch search --output=messages from:cworth | sed s/^id:// |\ test_expect_equal_file OUTPUT EXPECTED test_begin_subtest "format=batch-tag, dump sanity check." -notmuch dump --format=sup from:cworth | cut -f1 -d' ' | \ +NOTMUCH_DUMP_TAGS --format=sup from:cworth | cut -f1 -d' ' | \ sort > EXPECTED.$test_count -notmuch dump --format=batch-tag from:cworth | sed 's/^.*-- id://' | \ +NOTMUCH_DUMP_TAGS --format=batch-tag from:cworth | sed 's/^.*-- id://' | \ sort > OUTPUT.$test_count test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count test_begin_subtest "format=batch-tag, missing newline" printf "+a_tag_without_newline -- id:20091117232137.GA7669@griffis1.net" > IN notmuch restore --accumulate < IN -notmuch dump id:20091117232137.GA7669@griffis1.net > OUT +NOTMUCH_DUMP_TAGS id:20091117232137.GA7669@griffis1.net > OUT cat < EXPECTED +a_tag_without_newline +inbox +unread -- id:20091117232137.GA7669@griffis1.net EOF @@ -121,7 +143,8 @@ test_expect_equal_file EXPECTED OUT test_begin_subtest "format=batch-tag, # round-trip" notmuch dump --format=sup | sort > EXPECTED.$test_count -notmuch dump --format=batch-tag | notmuch restore --format=batch-tag +notmuch dump --format=batch-tag > DUMPFILE +notmuch restore --format=batch-tag < DUMPFILE notmuch dump --format=sup | sort > OUTPUT.$test_count test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count @@ -141,7 +164,7 @@ cat <EXPECTED.$test_count + -- id:20091117232137.GA7669@griffis1.net EOF notmuch restore --format=batch-tag < EXPECTED.$test_count -notmuch dump --format=batch-tag id:20091117232137.GA7669@griffis1.net > OUTPUT.$test_count +NOTMUCH_DUMP_TAGS --format=batch-tag id:20091117232137.GA7669@griffis1.net > OUTPUT.$test_count test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count tag1='comic_swear=$&^%$^%\\//-+$^%$' @@ -198,14 +221,15 @@ test_expect_equal_file EXPECTED OUTPUT.$test_count test_begin_subtest 'format=batch-tag, round trip with strange tags' notmuch dump --format=batch-tag > EXPECTED.$test_count -notmuch dump --format=batch-tag | notmuch restore --format=batch-tag +notmuch dump --format=batch-tag > DUMPFILE +notmuch restore --format=batch-tag < DUMPFILE notmuch dump --format=batch-tag > OUTPUT.$test_count test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count test_begin_subtest 'format=batch-tag, checking encoded output' -notmuch dump --format=batch-tag -- from:cworth |\ +NOTMUCH_DUMP_TAGS --format=batch-tag -- from:cworth |\ awk "{ print \"+$enc1 +$enc2 +$enc3 -- \" \$5 }" > EXPECTED.$test_count -notmuch dump --format=batch-tag -- from:cworth > OUTPUT.$test_count +NOTMUCH_DUMP_TAGS --format=batch-tag -- from:cworth > OUTPUT.$test_count test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count test_begin_subtest 'restoring sane tags'