From: Jeremy Hylton Date: Wed, 31 Jul 2002 15:57:39 +0000 (+0000) Subject: Repair testNtoH for large long arguments. X-Git-Tag: v2.3c1~4812 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cbd5b89571ee4d619bff2a264cc8a946cc98845f;p=python Repair testNtoH for large long arguments. If the long is large enough, the return value will be a negative int. In this case, calling the function a second time won't return the original value passed in. --- diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 44b42ffa11..301cd70499 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -248,15 +248,14 @@ class GeneralModuleTests(unittest.TestCase): pass def testNtoH(self): - def twice(f): - def g(x): - return f(f(x)) - return g - for i in (0, 1, 0xffff0000, 2L, (2**32L) - 1): - self.assertEqual(i, twice(socket.htonl)(i)) - self.assertEqual(i, twice(socket.ntohl)(i)) - self.assertRaises(OverflowError, socket.htonl, 2L**34) - self.assertRaises(OverflowError, socket.ntohl, 2L**34) + for func in socket.htonl, socket.ntohl: + for i in (0, 1, 0xffff0000, 2L): + self.assertEqual(i, func(func(i))) + + biglong = 2**32L - 1 + swapped = func(biglong) + self.assert_(swapped == biglong or swapped == -1) + self.assertRaises(OverflowError, func, 2L**34) def testGetServByName(self): """Testing getservbyname()."""