Fix for SF bug 661340: test_httplib fails on the mac.

The test no longer produces output with \r\n in it.
diff --git a/Lib/test/output/test_httplib b/Lib/test/output/test_httplib
index d9b3fa1..811e680 100644
--- a/Lib/test/output/test_httplib
+++ b/Lib/test/output/test_httplib
@@ -8,3 +8,4 @@
 reply: 'HTTP/1.1 200 OK\r\n'
 header: Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"
 header: Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"
+
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index 4d8dbc8..8764455 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -11,48 +11,71 @@
             raise httplib.UnimplementedFileMode()
         return StringIO.StringIO(self.text)
 
-# Test HTTP status lines
+# Collect output to a buffer so that we don't have to cope with line-ending
+# issues across platforms.  Specifically, the headers will have \r\n pairs
+# and some platforms will strip them from the output file.
 
-body = "HTTP/1.1 200 Ok\r\n\r\nText"
-sock = FakeSocket(body)
-resp = httplib.HTTPResponse(sock, 1)
-resp.begin()
-print resp.read()
-resp.close()
+import sys
 
-body = "HTTP/1.1 400.100 Not Ok\r\n\r\nText"
-sock = FakeSocket(body)
-resp = httplib.HTTPResponse(sock, 1)
-try:
-    resp.begin()
-except httplib.BadStatusLine:
-    print "BadStatusLine raised as expected"
-else:
-    print "Expect BadStatusLine"
-
-# Check invalid host_port
-
-for hp in ("www.python.org:abc", "www.python.org:"):
+def test():
+    buf = StringIO.StringIO()
+    _stdout = sys.stdout
     try:
-        h = httplib.HTTP(hp)
-    except httplib.InvalidURL:
-        print "InvalidURL raised as expected"
-    else:
-        print "Expect InvalidURL"
+        sys.stdout = buf
+        _test()
+    finally:
+        sys.stdout = _stdout
 
-# test response with multiple message headers with the same field name.
-text = ('HTTP/1.1 200 OK\r\n'
-        'Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"\r\n'
-        'Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1";'
-        ' Path="/acme"\r\n'
-        '\r\n'
-        'No body\r\n')
-hdr = ('Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"'
-       ', '
-       'Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"')
-s = FakeSocket(text)
-r = httplib.HTTPResponse(s, 1)
-r.begin()
-cookies = r.getheader("Set-Cookie")
-if cookies != hdr:
-    raise AssertionError, "multiple headers not combined properly"
+    # print individual lines with endings stripped
+    s = buf.getvalue()
+    for line in s.split("\n"):
+        print line.strip()
+
+def _test():
+    # Test HTTP status lines
+
+    body = "HTTP/1.1 200 Ok\r\n\r\nText"
+    sock = FakeSocket(body)
+    resp = httplib.HTTPResponse(sock, 1)
+    resp.begin()
+    print resp.read()
+    resp.close()
+
+    body = "HTTP/1.1 400.100 Not Ok\r\n\r\nText"
+    sock = FakeSocket(body)
+    resp = httplib.HTTPResponse(sock, 1)
+    try:
+        resp.begin()
+    except httplib.BadStatusLine:
+        print "BadStatusLine raised as expected"
+    else:
+        print "Expect BadStatusLine"
+
+    # Check invalid host_port
+
+    for hp in ("www.python.org:abc", "www.python.org:"):
+        try:
+            h = httplib.HTTP(hp)
+        except httplib.InvalidURL:
+            print "InvalidURL raised as expected"
+        else:
+            print "Expect InvalidURL"
+
+    # test response with multiple message headers with the same field name.
+    text = ('HTTP/1.1 200 OK\r\n'
+            'Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"\r\n'
+            'Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1";'
+            ' Path="/acme"\r\n'
+            '\r\n'
+            'No body\r\n')
+    hdr = ('Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"'
+           ', '
+           'Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"')
+    s = FakeSocket(text)
+    r = httplib.HTTPResponse(s, 1)
+    r.begin()
+    cookies = r.getheader("Set-Cookie")
+    if cookies != hdr:
+        raise AssertionError, "multiple headers not combined properly"
+
+test()