test_guess_all_types(): Use a more robust test for checking that
guess_all_extensions() returns (at least) what we expect.  As Jeff
Epler suggests in

http://mail.python.org/pipermail/python-dev/2003-September/038264.html

We use a set to test the results.  This fixes the test when
test_urllib2 is run before test_mimetypes.
diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py
index fed0bf5..5939ff5 100644
--- a/Lib/test/test_mimetypes.py
+++ b/Lib/test/test_mimetypes.py
@@ -1,6 +1,7 @@
 import mimetypes
 import StringIO
 import unittest
+from sets import Set
 
 from test import test_support
 
@@ -46,10 +47,12 @@
 
     def test_guess_all_types(self):
         eq = self.assertEqual
-        # First try strict
-        all = self.db.guess_all_extensions('text/plain', strict=True)
-        all.sort()
-        eq(all, ['.bat', '.c', '.h', '.ksh', '.pl', '.txt'])
+        unless = self.failUnless
+        # First try strict.  Use a set here for testing the results because if
+        # test_urllib2 is run before test_mimetypes, global state is modified
+        # such that the 'all' set will have more items in it.
+        all = Set(self.db.guess_all_extensions('text/plain', strict=True))
+        unless(all >= Set(['.bat', '.c', '.h', '.ksh', '.pl', '.txt']))
         # And now non-strict
         all = self.db.guess_all_extensions('image/jpg', strict=False)
         all.sort()