https://github.com/python-mechanize/mechanize/commit/529d2c4cb8f31284f8026642968ba3adb9de1171
https://github.com/python-mechanize/mechanize/commit/7ba3d586368c03577c061c35bc27664a907f5435
https://github.com/python-mechanize/mechanize/commit/560839d51e54943890c2d37c0d0854792479cb80

From: Kovid Goyal <kovid@kovidgoyal.net>
Date: Tue, 24 May 2022 11:13:16 +0530
Subject: [PATCH] Use asserts for failing test so we get better feedback on the
 failure

--- a/test/test_cookies.py
+++ b/test/test_cookies.py
@@ -1028,10 +1028,10 @@ def test_Cookie_iterator(self):  # noqa
             i = 0
             for c in cs:
                 # assert isinstance(c, Cookie)
-                assert c.version == versions[i]
-                assert c.name == names[i]
-                assert c.domain == domains[i]
-                assert c.path == paths[i]
+                self.assertEqual(c.version, versions[i])
+                self.assertEqual(c.name, names[i])
+                self.assertEqual(c.domain, domains[i])
+                self.assertEqual(c.path, paths[i])
                 i = i + 1
 
         self.assertRaises(IndexError, lambda cs=cs: cs[5])

From: Kovid Goyal <kovid@kovidgoyal.net>
Date: Tue, 24 May 2022 17:54:50 +0530
Subject: [PATCH] DRYer

--- a/test/test_cookies.py
+++ b/test/test_cookies.py
@@ -1025,14 +1025,9 @@ def test_Cookie_iterator(self):  # noqa
 
         # sequential iteration
         for i in range(4):
-            i = 0
-            for c in cs:
+            for c, expected in zip(cs, zip(versions, names, domains, paths)):
                 # assert isinstance(c, Cookie)
-                self.assertEqual(c.version, versions[i])
-                self.assertEqual(c.name, names[i])
-                self.assertEqual(c.domain, domains[i])
-                self.assertEqual(c.path, paths[i])
-                i = i + 1
+                self.assertEqual((c.version, c.name, c.domain, c.path), expected)
 
         self.assertRaises(IndexError, lambda cs=cs: cs[5])
 
Date: Tue, 24 May 2022 18:09:16 +0530
Subject: [PATCH] Change test to not rely on order of cookie iteration

python 3.11 iterates in add order, earlier pythons iterate in domain
sorted order

Fix #74
--- a/test/test_cookies.py
+++ b/test/test_cookies.py
@@ -1022,13 +1022,12 @@ def test_Cookie_iterator(self):  # noqa
             "www.acme.com"
         ]
         paths = ["/", "/", "/", "/blah", "/blah/"]
-
+        expected = set(zip(versions, names, domains, paths))
         # sequential iteration
-        for i in range(4):
-            for c, expected in zip(cs, zip(versions, names, domains, paths)):
-                # assert isinstance(c, Cookie)
-                self.assertEqual((c.version, c.name, c.domain, c.path), expected)
-
+        # python 3.11 iterates in add order, earlier pythons iterate in domain
+        # sorted order
+        actual = {(c.version, c.name, c.domain, c.path) for c in cs}
+        self.assertEqual(expected, actual)
         self.assertRaises(IndexError, lambda cs=cs: cs[5])
 
     def test_parse_ns_headers(self):

