Tests might fail if lines compared in text files don't have the same order.

Signed-off-by: Samuel GROOT <samuel.gr...@grenoble-inp.org>
Signed-off-by: Tom RUSSELLO <tom.russe...@grenoble-inp.org>
Signed-off-by: Matthieu MOY <matthieu....@grenoble-inp.fr>
---
 t/t9001-send-email.sh | 61 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 34 insertions(+), 27 deletions(-)

diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index b3355d2..4558e0f 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -54,6 +54,13 @@ test_no_confirm () {
                >no_confirm_okay
 }
 
+# Check if two files have the same content, non-order sensitive
+test_cmp_noorder () {
+       sort $1 >$1;
+       sort $2 >$2;
+       return $(test_cmp $1 $2)
+}
+
 # Exit immediately to prevent hang if a no-confirm test fails
 check_no_confirm () {
        if ! test -f no_confirm_okay
@@ -97,7 +104,7 @@ test_expect_success $PREREQ 'setup expect' '
 '
 
 test_expect_success $PREREQ 'Verify commandline' '
-       test_cmp expected commandline1
+       test_cmp_noorder expected commandline1
 '
 
 test_expect_success $PREREQ 'Send patches with --envelope-sender' '
@@ -117,7 +124,7 @@ test_expect_success $PREREQ 'setup expect' '
 '
 
 test_expect_success $PREREQ 'Verify commandline' '
-       test_cmp expected commandline1
+       test_cmp_noorder expected commandline1
 '
 
 test_expect_success $PREREQ 'Send patches with --envelope-sender=auto' '
@@ -137,7 +144,7 @@ test_expect_success $PREREQ 'setup expect' '
 '
 
 test_expect_success $PREREQ 'Verify commandline' '
-       test_cmp expected commandline1
+       test_cmp_noorder expected commandline1
 '
 
 test_expect_success $PREREQ 'setup expect' "
@@ -196,7 +203,7 @@ test_suppress_self () {
        >"expected-no-cc-$3" &&
 
        (grep '^Cc:' msghdr1-$3 >"actual-no-cc-$3";
-        test_cmp expected-no-cc-$3 actual-no-cc-$3)
+        test_cmp_noorder expected-no-cc-$3 actual-no-cc-$3)
 }
 
 test_suppress_self_unquoted () {
@@ -269,7 +276,7 @@ test_expect_success $PREREQ 'Show all headers' '
                -e "s/^\(Message-Id:\).*/\1 MESSAGE-ID-STRING/" \
                -e "s/^\(X-Mailer:\).*/\1 X-MAILER-STRING/" \
                >actual-show-all-headers &&
-       test_cmp expected-show-all-headers actual-show-all-headers
+       test_cmp_noorder expected-show-all-headers actual-show-all-headers
 '
 
 test_expect_success $PREREQ 'Prompting works' '
@@ -436,13 +443,13 @@ test_expect_success $PREREQ 'In-Reply-To without 
--chain-reply-to' '
                2>errors &&
        # The first message is a reply to --in-reply-to
        sed -n -e "s/^In-Reply-To: *\(.*\)/\1/p" msgtxt1 >actual &&
-       test_cmp expect actual &&
+       test_cmp_noorder expect actual &&
        # Second and subsequent messages are replies to the first one
        sed -n -e "s/^Message-Id: *\(.*\)/\1/p" msgtxt1 >expect &&
        sed -n -e "s/^In-Reply-To: *\(.*\)/\1/p" msgtxt2 >actual &&
-       test_cmp expect actual &&
+       test_cmp_noorder expect actual &&
        sed -n -e "s/^In-Reply-To: *\(.*\)/\1/p" msgtxt3 >actual &&
-       test_cmp expect actual
+       test_cmp_noorder expect actual
 '
 
 test_expect_success $PREREQ 'In-Reply-To with --chain-reply-to' '
@@ -457,13 +464,13 @@ test_expect_success $PREREQ 'In-Reply-To with 
--chain-reply-to' '
                $patches $patches $patches \
                2>errors &&
        sed -n -e "s/^In-Reply-To: *\(.*\)/\1/p" msgtxt1 >actual &&
-       test_cmp expect actual &&
+       test_cmp_noorder expect actual &&
        sed -n -e "s/^Message-Id: *\(.*\)/\1/p" msgtxt1 >expect &&
        sed -n -e "s/^In-Reply-To: *\(.*\)/\1/p" msgtxt2 >actual &&
-       test_cmp expect actual &&
+       test_cmp_noorder expect actual &&
        sed -n -e "s/^Message-Id: *\(.*\)/\1/p" msgtxt2 >expect &&
        sed -n -e "s/^In-Reply-To: *\(.*\)/\1/p" msgtxt3 >actual &&
-       test_cmp expect actual
+       test_cmp_noorder expect actual
 '
 
 test_expect_success $PREREQ 'setup fake editor' '
@@ -537,7 +544,7 @@ test_suppression () {
                --smtp-server relay.example.com \
                $patches | replace_variable_fields \
                >actual-suppress-$1${2+"-$2"} &&
-       test_cmp expected-suppress-$1${2+"-$2"} actual-suppress-$1${2+"-$2"}
+       test_cmp_noorder expected-suppress-$1${2+"-$2"} 
actual-suppress-$1${2+"-$2"}
 }
 
 test_expect_success $PREREQ 'sendemail.cc set' '
@@ -1213,7 +1220,7 @@ test_expect_success $PREREQ 'ASCII subject is not RFC2047 
quoted' '
                        --8bit-encoding=UTF-8 \
                        email-using-8bit >stdout &&
        grep "Subject" msgtxt1 >actual &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 test_expect_success $PREREQ 'setup expect' '
@@ -1234,7 +1241,7 @@ test_expect_success $PREREQ 'asks about and fixes 8bit 
encodings' '
        grep email-using-8bit stdout &&
        grep "Which 8bit encoding" stdout &&
        egrep "Content|MIME" msgtxt1 >actual &&
-       test_cmp actual content-type-decl
+       test_cmp_noorder actual content-type-decl
 '
 
 test_expect_success $PREREQ 'sendemail.8bitEncoding works' '
@@ -1245,7 +1252,7 @@ test_expect_success $PREREQ 'sendemail.8bitEncoding 
works' '
                        --smtp-server="$(pwd)/fake.sendmail" \
                        email-using-8bit >stdout &&
        egrep "Content|MIME" msgtxt1 >actual &&
-       test_cmp actual content-type-decl
+       test_cmp_noorder actual content-type-decl
 '
 
 test_expect_success $PREREQ '--8bit-encoding overrides sendemail.8bitEncoding' 
'
@@ -1257,7 +1264,7 @@ test_expect_success $PREREQ '--8bit-encoding overrides 
sendemail.8bitEncoding' '
                        --8bit-encoding=UTF-8 \
                        email-using-8bit >stdout &&
        egrep "Content|MIME" msgtxt1 >actual &&
-       test_cmp actual content-type-decl
+       test_cmp_noorder actual content-type-decl
 '
 
 test_expect_success $PREREQ 'setup expect' '
@@ -1286,7 +1293,7 @@ test_expect_success $PREREQ '--8bit-encoding also treats 
subject' '
                        --8bit-encoding=UTF-8 \
                        email-using-8bit >stdout &&
        grep "Subject" msgtxt1 >actual &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 test_expect_success $PREREQ 'setup expect' '
@@ -1335,7 +1342,7 @@ test_expect_success $PREREQ 
'sendemail.transferencoding=8bit' '
                2>errors >out &&
        sed '1,/^$/d' msgtxt1 >actual &&
        sed '1,/^$/d' email-using-8bit >expected &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 test_expect_success $PREREQ 'setup expect' '
@@ -1352,7 +1359,7 @@ test_expect_success $PREREQ '8-bit and 
sendemail.transferencoding=quoted-printab
                email-using-8bit \
                2>errors >out &&
        sed '1,/^$/d' msgtxt1 >actual &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 test_expect_success $PREREQ 'setup expect' '
@@ -1369,7 +1376,7 @@ test_expect_success $PREREQ '8-bit and 
sendemail.transferencoding=base64' '
                email-using-8bit \
                2>errors >out &&
        sed '1,/^$/d' msgtxt1 >actual &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 test_expect_success $PREREQ 'setup expect' '
@@ -1395,7 +1402,7 @@ test_expect_success $PREREQ 'convert from 
quoted-printable to base64' '
                email-using-qp \
                2>errors >out &&
        sed '1,/^$/d' msgtxt1 >actual &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 test_expect_success $PREREQ 'setup expect' "
@@ -1425,7 +1432,7 @@ test_expect_success $PREREQ 'CRLF and 
sendemail.transferencoding=quoted-printabl
                email-using-crlf \
                2>errors >out &&
        sed '1,/^$/d' msgtxt1 >actual &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 test_expect_success $PREREQ 'setup expect' '
@@ -1442,7 +1449,7 @@ test_expect_success $PREREQ 'CRLF and 
sendemail.transferencoding=base64' '
                email-using-crlf \
                2>errors >out &&
        sed '1,/^$/d' msgtxt1 >actual &&
-       test_cmp expected actual
+       test_cmp_noorder expected actual
 '
 
 
@@ -1582,7 +1589,7 @@ test_dump_aliases () {
                        "$(pwd)/.tmp-email-aliases" &&
                git config sendemail.aliasfiletype "$filetype" &&
                git send-email --dump-aliases 2>errors >actual &&
-               test_cmp expect actual
+               test_cmp_noorder expect actual
        '
 }
 
@@ -1842,7 +1849,7 @@ test_expect_success $PREREQ 'use email list in --cc --to 
and --bcc' '
        --bcc="b...@example.com, b...@example.com" \
        0001-add-master.patch | replace_variable_fields \
        >actual-list &&
-       test_cmp expected-list actual-list
+       test_cmp_noorder expected-list actual-list
 '
 
 test_expect_success $PREREQ 'aliases work with email list' '
@@ -1858,7 +1865,7 @@ test_expect_success $PREREQ 'aliases work with email 
list' '
        --bcc="b...@example.com, b...@example.com" \
        0001-add-master.patch | replace_variable_fields \
        >actual-list &&
-       test_cmp expected-list actual-list
+       test_cmp_noorder expected-list actual-list
 '
 
 test_expect_success $PREREQ 'leading and trailing whitespaces are removed' '
@@ -1882,7 +1889,7 @@ test_expect_success $PREREQ 'leading and trailing 
whitespaces are removed' '
        --bcc="b...@example.com" \
        0001-add-master.patch | replace_variable_fields \
        >actual-list &&
-       test_cmp expected-list actual-list
+       test_cmp_noorder expected-list actual-list
 '
 
 test_done
-- 
2.8.3

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to