mirror of https://github.com/python/cpython.git
bpo-33034: Improve exception message when cast fails for {Parse,Split}Result.port (GH-6078)
This commit is contained in:
parent
7389fd935c
commit
2cb4661707
|
@ -936,6 +936,16 @@ def test_issue14072(self):
|
||||||
self.assertEqual(p2.scheme, 'tel')
|
self.assertEqual(p2.scheme, 'tel')
|
||||||
self.assertEqual(p2.path, '+31641044153')
|
self.assertEqual(p2.path, '+31641044153')
|
||||||
|
|
||||||
|
def test_port_casting_failure_message(self):
|
||||||
|
message = "Port could not be cast to integer value as 'oracle'"
|
||||||
|
p1 = urllib.parse.urlparse('http://Server=sde; Service=sde:oracle')
|
||||||
|
with self.assertRaisesRegex(ValueError, message):
|
||||||
|
p1.port
|
||||||
|
|
||||||
|
p2 = urllib.parse.urlsplit('http://Server=sde; Service=sde:oracle')
|
||||||
|
with self.assertRaisesRegex(ValueError, message):
|
||||||
|
p2.port
|
||||||
|
|
||||||
def test_telurl_params(self):
|
def test_telurl_params(self):
|
||||||
p1 = urllib.parse.urlparse('tel:123-4;phone-context=+1-650-516')
|
p1 = urllib.parse.urlparse('tel:123-4;phone-context=+1-650-516')
|
||||||
self.assertEqual(p1.scheme, 'tel')
|
self.assertEqual(p1.scheme, 'tel')
|
||||||
|
|
|
@ -166,7 +166,11 @@ def hostname(self):
|
||||||
def port(self):
|
def port(self):
|
||||||
port = self._hostinfo[1]
|
port = self._hostinfo[1]
|
||||||
if port is not None:
|
if port is not None:
|
||||||
port = int(port, 10)
|
try:
|
||||||
|
port = int(port, 10)
|
||||||
|
except ValueError:
|
||||||
|
message = f'Port could not be cast to integer value as {port!r}'
|
||||||
|
raise ValueError(message) from None
|
||||||
if not ( 0 <= port <= 65535):
|
if not ( 0 <= port <= 65535):
|
||||||
raise ValueError("Port out of range 0-65535")
|
raise ValueError("Port out of range 0-65535")
|
||||||
return port
|
return port
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Providing an explicit error message when casting the port property to anything
|
||||||
|
that is not an integer value using ``urlparse()`` and ``urlsplit()``.
|
||||||
|
Patch by Matt Eaton.
|
Loading…
Reference in New Issue