Due to a misconfiguration, urllib.thishost() raises an IOError
on my laptop. This causes urllib.urlopen to raise an exception.
A flaw in test_missing_localfile causes this exception to not be
reported. The problem happens at line 230-235:
try:
self.assertTrue(os.path.exists(tmp_file))
fp = urllib.urlopen(tmp_fileurl)
finally:
os.close(fd)
fp.close()
On my laptop, urllib.urlopen raises a socket.gaierror. This
means that the variable fp is never set, and the fp.close() at
line 235 raises an UnboundLoccalError, masking the socket error.
A quick fix would be:
try:
self.assertTrue(os.path.exists(tmp_file))
fp = urllib.urlopen(tmp_fileurl)
fp.close()
finally:
os.close(fd)
That way, the .close is only attempted if the open succeeds. |