(original) (raw)

I was hit by this today.

in test\_hashlib.py there is this:

 

def

test\_unknown\_hash(self):

    self

.assertRaises(ValueError, hashlib.new, 'spam spam spam spam spam')

    self

.assertRaises(TypeError, hashlib.new, 1)

 

but in hashlib.py, there is this code:

 

except ImportError:

    pass # no extension module, this hash is unsupported.

raise ValueError('unsupported hash type %s' % name)

 

 

The code will raise ValueError when int(1) is passed in, but the unittests expect a TypeError.

So, which is correct?

 

K