Gentoo Archives: gentoo-commits

From: "Justin Lecher (jlec)" <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-python/whirlpool/files: tests.py
Date: Mon, 03 Jun 2013 19:49:30
Message-Id: 20130603194924.6CAA32171E@flycatcher.gentoo.org
1 jlec 13/06/03 19:49:24
2
3 Added: tests.py
4 Log:
5 dev-python/whirlpool: New addition
6
7 (Portage version: 2.2.0_alpha177/cvs/Linux x86_64, signed Manifest commit with key 8009D6F070EB7916)
8
9 Revision Changes Path
10 1.1 dev-python/whirlpool/files/tests.py
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/whirlpool/files/tests.py?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/whirlpool/files/tests.py?rev=1.1&content-type=text/plain
14
15 Index: tests.py
16 ===================================================================
17 import unittest
18
19 import whirlpool
20
21 from binascii import b2a_hex
22
23
24 results = {
25 'empty' : '19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3',
26 'tqbfjotld' : 'b97de512e91e3828b40d2b0fdce9ceb3c4a71f9bea8d88e75c4fa854df36725fd2b52eb6544edcacd6f8beddfea403cb55ae31f03ad62a5ef54e42ee82c3fb35',
27 'tqbfjotle' : 'c27ba124205f72e6847f3e19834f925cc666d0974167af915bb462420ed40cc50900d85a1f923219d832357750492d5c143011a76988344c2635e69d06f2d38c',
28 'tqbf' : '317edc3c5172ea5987902aa9c4f1defedf4d5aa59209bdf7574cc6da0039852c24b8da70ecb07997ff83e86d32d2851215d3dcbd6bb9736bdef21c349d483e6d',
29 }
30
31
32 class TestWhirlpool(unittest.TestCase):
33
34 def test_hash_empty(self):
35 self.assertEqual(b2a_hex(whirlpool.hash('')), results['empty'])
36
37 def test_hash_fox(self):
38 self.assertEqual(
39 b2a_hex(whirlpool.hash('The quick brown fox jumps over the lazy dog')),
40 results['tqbfjotld'])
41 self.assertEqual(
42 b2a_hex(whirlpool.hash('The quick brown fox jumps over the lazy eog')),
43 results['tqbfjotle'])
44
45 def test_new_empty(self):
46 wp = whirlpool.new()
47 self.assertEqual(b2a_hex(wp.digest()), results['empty'])
48 self.assertEqual(wp.hexdigest(), results['empty'])
49
50 def test_new_fox(self):
51 wp1 = whirlpool.new('The quick brown fox jumps over the lazy dog')
52 self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
53 self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
54
55 wp2 = whirlpool.new('The quick brown fox jumps over the lazy eog')
56 self.assertEqual(b2a_hex(wp2.digest()), results['tqbfjotle'])
57 self.assertEqual(wp2.hexdigest(), results['tqbfjotle'])
58
59 def test_update_copy(self):
60 wp1 = whirlpool.new()
61 wp2 = wp1.copy()
62 wp1.update('The quick brown fox')
63 wp3 = wp1.copy()
64
65 self.assertEqual(b2a_hex(wp1.digest()), results['tqbf'])
66 self.assertEqual(wp1.hexdigest(), results['tqbf'])
67
68 self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
69 self.assertEqual(wp2.hexdigest(), results['empty'])
70
71 self.assertEqual(b2a_hex(wp3.digest()), results['tqbf'])
72 self.assertEqual(wp3.hexdigest(), results['tqbf'])
73
74 wp1.update(' jumps over the lazy dog')
75
76 self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
77 self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
78
79 self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
80 self.assertEqual(wp2.hexdigest(), results['empty'])
81
82 self.assertEqual(b2a_hex(wp3.digest()), results['tqbf'])
83 self.assertEqual(wp3.hexdigest(), results['tqbf'])
84
85 wp3.update(' jumps over the lazy eog')
86
87 self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
88 self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
89
90 self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
91 self.assertEqual(wp2.hexdigest(), results['empty'])
92
93 self.assertEqual(b2a_hex(wp3.digest()), results['tqbfjotle'])
94 self.assertEqual(wp3.hexdigest(), results['tqbfjotle'])
95
96 def test_digest_size(self):
97 wp = whirlpool.new()
98 self.assertEqual(wp.digest_size, 64)
99 with self.assertRaisesRegexp(AttributeError,
100 'digest_size.*not writable'):
101 wp.digest_size = 32
102
103 def test_block_size(self):
104 wp = whirlpool.new()
105 self.assertEqual(wp.block_size, 64)
106 with self.assertRaisesRegexp(AttributeError,
107 'block_size.*not writable'):
108 wp.block_size = 32
109
110
111 if __name__ == '__main__':
112 unittest.main()