[pycrypto] Issue with the new random.choice() unit test
sbehrens at gmx.li
Wed Jan 5 07:01:00 CST 2011
On 1/4/2011 6:24 PM, Lorenz Quack wrote:
> Well, this problem exist in all your random test although it is indeed
> unlikely that one will hit the others.
True. It also exists in all other random tests we have, in one form or
> random tests. They all use random.randrange which in turn uses getrandbits.
> So if you want to go for *real* tests those functions should be the focus.
Aye. Real tests for those would be good, given the importance of
randomness in crypto.
I don't think I'm tackling that anytime soon, though.
> * You don't need to create the seq randomly or do you? wouldn't range(500) suffice?
It doesn't have to be random. I changed it to range(10000). Gets rid of
the too-too-likely collision, as well.
> * I find the way you fixed the shuffle function rather odd (good catch, though)
> my suggestion would be
> or even shorter
> for i in xrange(len(x)):
> x[i] = items.pop(self.randrange(len(items)))
That looks a lot more pythonic. Thanks, I've made that change. I'll hold
off on yet-another-pull-request though, poor Dwayne. :)
Do you have any ideas on the ailing AllOrNothing.py and random.sample on
Python 2.1? I haven't dug into those yet beyond
noting that they have issues, exposed by the new unit tests.
More information about the pycrypto