From: Daniel Kahn Gillmor Date: Wed, 23 Nov 2016 17:57:22 +0000 (-0500) Subject: tests: account for varying-size cryptographic signatures X-Git-Tag: 0.23.3~10 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=d31161c212368a592c5d92e3d181a986d49fcc20;hp=c9ec90ae7f22d817aa0ddb5e1a0ae80715071b5e tests: account for varying-size cryptographic signatures GnuPG 2.1.16 is now injecting the full issuer fingerprint in its signatures, which makes them about 32 octets larger when ascii-armored. This change in size means that the size of the MIME parts will vary depending on the version of gpg that the user has installed. at any rate, the signature part should be non-zero (this is true for basically any MIME part), so we just test for that instead of an exact size. --- diff --git a/test/T350-crypto.sh b/test/T350-crypto.sh index df2dc743..a1e5e206 100755 --- a/test/T350-crypto.sh +++ b/test/T350-crypto.sh @@ -59,7 +59,7 @@ expected='[[[{"id": "XXXXX", "content": "This is a test signed message.\n"}, {"id": 3, "content-type": "application/pgp-signature", - "content-length": 280}]}]}, + "content-length": "NONZERO"}]}]}, []]]]' test_expect_equal_json \ "$output" \ @@ -94,7 +94,7 @@ expected='[[[{"id": "XXXXX", "content": "This is a test signed message.\n"}, {"id": 3, "content-type": "application/pgp-signature", - "content-length": 280}]}]}, + "content-length": "NONZERO"}]}]}, []]]]' test_expect_equal_json \ "$output" \ @@ -127,7 +127,7 @@ expected='[[[{"id": "XXXXX", "content": "This is a test signed message.\n"}, {"id": 3, "content-type": "application/pgp-signature", - "content-length": 280}]}]}, + "content-length": "NONZERO"}]}]}, []]]]' test_expect_equal_json \ "$output" \ @@ -197,7 +197,7 @@ expected='[[[{"id": "XXXXX", "content-type": "multipart/encrypted", "content": [{"id": 2, "content-type": "application/pgp-encrypted", - "content-length": 11}, + "content-length": "NONZERO"}, {"id": 3, "content-type": "multipart/mixed", "content": [{"id": 4, @@ -205,7 +205,7 @@ expected='[[[{"id": "XXXXX", "content": "This is a test encrypted message.\n"}, {"id": 5, "content-type": "application/octet-stream", - "content-length": 28, + "content-length": "NONZERO", "content-transfer-encoding": "base64", "filename": "TESTATTACHMENT"}]}]}]}, []]]]' @@ -234,11 +234,9 @@ test_expect_equal_file OUTPUT TESTATTACHMENT test_begin_subtest "decryption failure with missing key" mv "${GNUPGHOME}"{,.bak} -# The length of the encrypted attachment varies so must be normalized. output=$(notmuch show --format=json --decrypt subject:"test encrypted message 001" \ | notmuch_json_show_sanitize \ - | sed -e 's|"created": [1234567890]*|"created": 946728000|' \ - | sed -e 's|"content-length": 6[1234567890]*|"content-length": 652|') + | sed -e 's|"created": [1234567890]*|"created": 946728000|') expected='[[[{"id": "XXXXX", "match": true, "excluded": false, @@ -255,10 +253,10 @@ expected='[[[{"id": "XXXXX", "content-type": "multipart/encrypted", "content": [{"id": 2, "content-type": "application/pgp-encrypted", - "content-length": 11}, + "content-length": "NONZERO"}, {"id": 3, "content-type": "application/octet-stream", - "content-length": 652}]}]}, + "content-length": "NONZERO"}]}]}, []]]]' test_expect_equal_json \ "$output" \ @@ -295,7 +293,7 @@ expected='[[[{"id": "XXXXX", "content-type": "multipart/encrypted", "content": [{"id": 2, "content-type": "application/pgp-encrypted", - "content-length": 11}, + "content-length": "NONZERO"}, {"id": 3, "content-type": "text/plain", "content": "This is another test encrypted message.\n"}]}]}, @@ -370,7 +368,7 @@ expected='[[[{"id": "XXXXX", "content": "This is a test signed message.\n"}, {"id": 3, "content-type": "application/pgp-signature", - "content-length": 280}]}]}, + "content-length": "NONZERO"}]}]}, []]]]' test_expect_equal_json \ "$output" \ diff --git a/test/T355-smime.sh b/test/T355-smime.sh index d9424125..a8be45e7 100755 --- a/test/T355-smime.sh +++ b/test/T355-smime.sh @@ -69,7 +69,7 @@ expected='[[[{"id": "XXXXX", "content-type": "text/plain", "content": "This is a test signed message.\n"}, {"id": 3, - "content-length": 1922, + "content-length": "NONZERO", "content-transfer-encoding": "base64", "content-type": "application/x-pkcs7-signature", "filename": "smime.p7s"}]}]}, diff --git a/test/test-lib.sh b/test/test-lib.sh index e7b83392..86e792a8 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -736,7 +736,8 @@ notmuch_json_show_sanitize () -e 's|"Date": "Fri, 05 Jan 2001 [^"]*0000"|"Date": "GENERATED_DATE"|g' \ -e 's|"filename": "signature.asc",||g' \ -e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g' \ - -e 's|"timestamp": 97.......|"timestamp": 42|g' + -e 's|"timestamp": 97.......|"timestamp": 42|g' \ + -e 's|"content-length": [1-9][0-9]*|"content-length": "NONZERO"|g' } notmuch_emacs_error_sanitize ()