Peter Wang <novalazy@gmail.com> writes: > Update tests to expect content-length and content-transfer-encoding > fields in show --format=json output, for leaf parts with omitted body > content. These three patches all look fine to me, except for the following problem. > diff --git a/test/json b/test/json > index ac8fa8e..8ce2e8a 100755 > --- a/test/json > +++ b/test/json > @@ -45,7 +45,7 @@ emacs_deliver_message \ > (insert \"Message-ID: <$id>\n\")" > output=$(notmuch show --format=json "id:$id") > filename=$(notmuch search --output=files "id:$id") > -test_expect_equal_json "$output" "[[[{\"id\": \"$id\", \"match\": true, \"excluded\": false, \"filename\": \"$filename\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\"], \"headers\": {\"Subject\": \"$subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"test_suite@notmuchmail.org\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"multipart/mixed\", \"content\": [{\"id\": 2, \"content-type\": \"text/plain\", \"content\": \"This is a test message with inline attachment with a filename\"}, {\"id\": 3, \"content-type\": \"application/octet-stream\", \"filename\": \"README\"}]}]}, []]]]" > +test_expect_equal_json "$output" "[[[{\"id\": \"$id\", \"match\": true, \"excluded\": false, \"filename\": \"$filename\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\"], \"headers\": {\"Subject\": \"$subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"test_suite@notmuchmail.org\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 +0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"multipart/mixed\", \"content\": [{\"id\": 2, \"content-type\": \"text/plain\", \"content\": \"This is a test message with inline attachment with a filename\"}, {\"id\": 3, \"content-type\": \"application/octet-stream\", \"content-length\": 12392, \"content-transfer-encoding\": \"base64\", \"filename\": \"README\"}]}]}, []]]]" This test fails for me. You're encoding the content-length of test/README. test/README certainly hasn't changed in the last six months so that seems like a reasonable thing to do... except then why is it 12392 on your machine, and 12380 on mine? I don't object to using test/README as a simple file to test with, but then you certainly shouldn't hard-code its length. You could pipe test/README through base64 and then through wc -c to get an accurate length, but for my machine a newline gets appended by base64 I think, and it gives me 12381. I'm tagging this patch moreinfo but you would have my +1 if you fix this. Ethan