Opened 11 months ago
Last modified 11 months ago
#36098 closed Bug
TypeError: object of type 'IPv6Address' has no len() when running tests with GeoDjango — at Initial Version
| Reported by: | Natalia Bidart | Owned by: | Natalia Bidart |
|---|---|---|---|
| Component: | GIS | Version: | 5.1 |
| Severity: | Release blocker | Keywords: | |
| Cc: | Sarah Boyce | Triage Stage: | Ready for checkin |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Following the security release for 5.1.5, 5.0.11 and 4.2.18, there seems to be an issue with the GeoDjango tests:
Traceback (most recent call last):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 305, in validate_ipv4_address
ipaddress.IPv4Address(value)
File "/usr/lib/python3.10/ipaddress.py", line 1305, in __init__
self._ip = self._ip_int_from_string(addr_str)
File "/usr/lib/python3.10/ipaddress.py", line 1192, in _ip_int_from_string
raise AddressValueError("Expected 4 octets in %r" % ip_str)
ipaddress.AddressValueError: Expected 4 octets in '::ffff:27d:a0d8'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 325, in validate_ipv46_address
validate_ipv4_address(value)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 307, in validate_ipv4_address
raise ValidationError(
django.core.exceptions.ValidationError: ['Enter a valid IPv4 address.']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/tests/gis_tests/test_geoip2.py", line 131, in test_country
self.assertEqual(g.country(query), self.expected_country)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/contrib/gis/geoip2.py", line 207, in country
response = self._query(query, require_city=False)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/contrib/gis/geoip2.py", line 157, in _query
validate_ipv46_address(query)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 328, in validate_ipv46_address
validate_ipv6_address(value)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 315, in validate_ipv6_address
if not is_valid_ipv6_address(value):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/utils/ipv6.py", line 59, in is_valid_ipv6_address
_ipv6_address_from_str(ip_str)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/utils/ipv6.py", line 10, in _ipv6_address_from_str
if len(ip_str) > max_length:
TypeError: object of type 'IPv6Address' has no len()
======================================================================
ERROR [0.003s]: test_country_using_city_database (gis_tests.test_geoip2.GeoIP2Test) (query=IPv6Address('::ffff:27d:a0d8'))
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 305, in validate_ipv4_address
ipaddress.IPv4Address(value)
File "/usr/lib/python3.10/ipaddress.py", line 1305, in __init__
self._ip = self._ip_int_from_string(addr_str)
File "/usr/lib/python3.10/ipaddress.py", line 1192, in _ip_int_from_string
raise AddressValueError("Expected 4 octets in %r" % ip_str)
ipaddress.AddressValueError: Expected 4 octets in '::ffff:27d:a0d8'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 325, in validate_ipv46_address
validate_ipv4_address(value)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 307, in validate_ipv4_address
raise ValidationError(
django.core.exceptions.ValidationError: ['Enter a valid IPv4 address.']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/tests/gis_tests/test_geoip2.py", line 145, in test_country_using_city_database
self.assertEqual(g.country(query), self.expected_country)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/contrib/gis/geoip2.py", line 207, in country
response = self._query(query, require_city=False)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/contrib/gis/geoip2.py", line 157, in _query
validate_ipv46_address(query)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 328, in validate_ipv46_address
validate_ipv6_address(value)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/core/validators.py", line 315, in validate_ipv6_address
if not is_valid_ipv6_address(value):
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/utils/ipv6.py", line 59, in is_valid_ipv6_address
_ipv6_address_from_str(ip_str)
File "/home/jenkins/workspace/pull-requests-focal/database/mysql_gis/label/focal-pr/python/python3.10/django/utils/ipv6.py", line 10, in _ipv6_address_from_str
if len(ip_str) > max_length:
TypeError: object of type 'IPv6Address' has no len()
Note:
See TracTickets
for help on using tickets.