t5551: compare sorted cookies files
authorThomas Gummerer <t.gummerer@gmail.com>
Mon, 17 Sep 2018 21:46:28 +0000 (22:46 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Sep 2018 15:35:06 +0000 (08:35 -0700)
In t5551 we check that we save cookies correctly to a file when
http.cookiefile and http.savecookies are set. To do so we create an
expect file that expects the cookies in a certain order.

However after e2ef8d6fa ("cookies: support creation-time attribute for
cookies", 2018-08-28) in curl.git (released in curl 7.61.1) that order
changed.

We document the file format as "Netscape/Mozilla cookie file
format (see curl(1))", so any format produced by libcurl should be
fine here. Sort the files, to be agnostic to the order of the
cookies, and make the test pass with both curl versions > 7.61.1 and
earlier curl versions.

Reported-by: Todd Zullinger <tmz@pobox.com>
Helped-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5551-http-fetch-smart.sh
index 71535631d3bf7e494a778301fb81f926b1a74132..3dc8f8ecec2c03c63788bc5b0e9db88e55deb823 100755 (executable)
@@ -207,7 +207,7 @@ test_expect_success 'cookies stored in http.cookiefile when http.savecookies set
        cat >cookies.txt <<-\EOF &&
        127.0.0.1       FALSE   /smart_cookies/ FALSE   0       othername       othervalue
        EOF
        cat >cookies.txt <<-\EOF &&
        127.0.0.1       FALSE   /smart_cookies/ FALSE   0       othername       othervalue
        EOF
-       cat >expect_cookies.txt <<-\EOF &&
+       sort >expect_cookies.txt <<-\EOF &&
 
        127.0.0.1       FALSE   /smart_cookies/ FALSE   0       othername       othervalue
        127.0.0.1       FALSE   /smart_cookies/repo.git/info/   FALSE   0       name    value
 
        127.0.0.1       FALSE   /smart_cookies/ FALSE   0       othername       othervalue
        127.0.0.1       FALSE   /smart_cookies/repo.git/info/   FALSE   0       name    value
@@ -215,7 +215,7 @@ test_expect_success 'cookies stored in http.cookiefile when http.savecookies set
        git config http.cookiefile cookies.txt &&
        git config http.savecookies true &&
        git ls-remote $HTTPD_URL/smart_cookies/repo.git master &&
        git config http.cookiefile cookies.txt &&
        git config http.savecookies true &&
        git ls-remote $HTTPD_URL/smart_cookies/repo.git master &&
-       tail -3 cookies.txt >cookies_tail.txt &&
+       tail -3 cookies.txt | sort >cookies_tail.txt &&
        test_cmp expect_cookies.txt cookies_tail.txt
 '
 
        test_cmp expect_cookies.txt cookies_tail.txt
 '