MCPcopy Index your code
hub / github.com/python/cpython / test_bug_31482

Method test_bug_31482

Lib/test/test_random.py:696–721  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

694 pass
695
696 def test_bug_31482(self):
697 # Verify that version 1 seeds are unaffected by hash randomization
698 # when the seeds are expressed as bytes rather than strings.
699 # The hash(b) values listed are the Python2.7 hash() values
700 # which were used for seeding.
701
702 self.gen.seed(b'nofar', version=1) # hash('nofar') == 5990528763808513177
703 self.assertEqual([self.gen.random().hex() for i in range(4)],
704 ['0x1.8645314505ad7p-1', '0x1.afb1f82e40a40p-5',
705 '0x1.2a59d2285e971p-1', '0x1.56977142a7880p-6'])
706
707 self.gen.seed(b'rachel', version=1) # hash('rachel') == -9091735575445484789
708 self.assertEqual([self.gen.random().hex() for i in range(4)],
709 ['0x1.0b294cc856fcdp-1', '0x1.2ad22d79e77b8p-3',
710 '0x1.3052b9c072678p-2', '0x1.578f332106574p-3'])
711
712 self.gen.seed(b'', version=1) # hash('') == 0
713 self.assertEqual([self.gen.random().hex() for i in range(4)],
714 ['0x1.b0580f98a7dbep-1', '0x1.84129978f9c1ap-1',
715 '0x1.aeaa51052e978p-2', '0x1.092178fb945a6p-2'])
716
717 b = b'\x00\x20\x40\x60\x80\xA0\xC0\xE0\xF0'
718 self.gen.seed(b, version=1) # hash(b) == 5015594239749365497
719 self.assertEqual([self.gen.random().hex() for i in range(4)],
720 ['0x1.52c2fde444d23p-1', '0x1.875174f0daea4p-2',
721 '0x1.9e9b2c50e5cd2p-1', '0x1.fa57768bd321cp-2'])
722
723 def test_setstate_first_arg(self):
724 self.assertRaises(ValueError, self.gen.setstate, (1, None, None))

Callers

nothing calls this directly

Calls 4

seedMethod · 0.45
assertEqualMethod · 0.45
hexMethod · 0.45
randomMethod · 0.45

Tested by

no test coverage detected