This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Sanjay
Recipients Sanjay, ncoghlan, pmoody, xiang.zhang
Date 2017-03-28.10:37:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1490697440.73.0.104969617886.issue29931@psf.upfronthosting.co.za>
In-reply-to
Content
The less than check for ip_interface behavior seems weird. I am not sure if this is by design. We are just comparing the network address but when network address is equal we should compare the ip address.
The expectation is if a < b is False then b <= a must be True
>>> import ipaddress
>>> a = ipaddress.ip_interface("1.1.1.1/24")
>>> b = ipaddress.ip_interface("1.1.1.2/24")
>>> a < b
False
>>> b <= a
False
>>> a == b
False
>>> 
This happens with both v4 and v6
The tests were passing because in ComparisonTests we were testing with prefix length of 32 which means the whole ip address became the network address.
I have made a fix here:
https://github.com/s-sanjay/cpython/commit/14975f58539308b7af5a1519705fb8cd95ad7951
I can add more tests and send PR but before that I wanted to confirm the behavior.
History
Date User Action Args
2017-03-28 10:37:20Sanjaysetrecipients: + Sanjay, ncoghlan, pmoody, xiang.zhang
2017-03-28 10:37:20Sanjaysetmessageid: <1490697440.73.0.104969617886.issue29931@psf.upfronthosting.co.za>
2017-03-28 10:37:20Sanjaylinkissue29931 messages
2017-03-28 10:37:20Sanjaycreate