This test failed on WindowsME because the full file path did not get
reported consistently with the *nix world.  'Lib/test/test_warnings.py'
came out as 'lib\test\test_warnings.py'.  The basename is all we care
about so I used that.
diff --git a/Lib/test/output/test_warnings b/Lib/test/output/test_warnings
index 9b45e42..8fe6d47 100644
--- a/Lib/test/output/test_warnings
+++ b/Lib/test/output/test_warnings
@@ -2,9 +2,9 @@
 ('ignore', False, 'FutureWarning', False, 0)
 ('ignore', True, 'OverflowWarning', True, 0)
 ('ignore', True, 'PendingDeprecationWarning', True, 0)
-Lib/test/test_warnings.py:31: UserWarning: hello world
-Lib/test/test_warnings.py:32: UserWarning: hello world
-Lib/test/test_warnings.py:33: DeprecationWarning: hello world
-Lib/test/test_warnings.py:35: UserWarning: hello world
+test_warnings.py:31: UserWarning: hello world
+test_warnings.py:32: UserWarning: hello world
+test_warnings.py:33: DeprecationWarning: hello world
+test_warnings.py:35: UserWarning: hello world
 Caught UserWarning: hello world
 Caught AssertionError: invalid action: 'booh'
diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py
index 9e375e0..5e8574b 100644
--- a/Lib/test/test_warnings.py
+++ b/Lib/test/test_warnings.py
@@ -1,4 +1,5 @@
 import warnings
+import os
 
 # The warnings module isn't easily tested, because it relies on module
 # globals to store configuration information.  We need to extract the
@@ -8,8 +9,7 @@
 _showwarning = None
 
 def showwarning(message, category, filename, lineno, file=None):
-    i = filename.find("Lib")
-    filename = filename[i:]
+    filename = os.path.basename(filename)
     print "%s:%s: %s: %s" % (filename, lineno, category.__name__, message)
 
 def monkey():