Merged revisions 53434 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r53434 | guido.van.rossum | 2007-01-14 09:03:32 -0800 (Sun, 14 Jan 2007) | 3 lines

  Patch #1635058 by Mark Roberts: ensure that htonl and friends never accept or
  return negative numbers, per the underlying C implementation.
........
This commit is contained in:
Guido van Rossum 2007-01-15 00:07:32 +00:00
parent 65eabe30e4
commit 018919aba8
3 changed files with 29 additions and 4 deletions

View file

@ -310,6 +310,20 @@ class GeneralModuleTests(unittest.TestCase):
self.assertEqual(swapped & mask, mask)
self.assertRaises(OverflowError, func, 1L<<34)
def testNtoHErrors(self):
good_values = [ 1, 2, 3, 1L, 2L, 3L ]
bad_values = [ -1, -2, -3, -1L, -2L, -3L ]
for k in good_values:
socket.ntohl(k)
socket.ntohs(k)
socket.htonl(k)
socket.htons(k)
for k in bad_values:
self.assertRaises(OverflowError, socket.ntohl, k)
self.assertRaises(OverflowError, socket.ntohs, k)
self.assertRaises(OverflowError, socket.htonl, k)
self.assertRaises(OverflowError, socket.htons, k)
def testGetServBy(self):
eq = self.assertEqual
# Find one service that exists, then check all the related interfaces.