i ile aşağıdaki dizge birkaç kez çalıştırırsanız başarısız olur.Pyelliptic bazen
TestCase:
import unittest, pyelliptic, pickle
class PyellipticTestCase(unittest.TestCase):
def setUp(self):
self.alice = pyelliptic.ECC()
self.bob = pyelliptic.ECC()
def test_pickleSign(self):
tm = {"text":"contract","amount":12}
tms1 = {"doc":tm,"c1":self.bob.get_pubkey(),"s1":self.bob.sign(pickle.dumps(tm))}
tms2bb = {"doc":tms1,"c2":self.alice.get_pubkey(),"s2":self.alice.sign(pickle.dumps(tms1))}
tms2 = pickle.loads(pickle.dumps(tms2bb))
self.assertEqual(tms2['s2'],tms2bb['s2'])
self.assertTrue(pyelliptic.ECC(pubkey=self.alice.get_pubkey()).verify(tms2bb['s2'],pickle.dumps(tms2['doc']))) #<--- FAILs sometimes
Benim Sistemi:
- OS: 14.04.1-Ubuntu (-jenerik 3.16.0-36 Çekirdek)
- Phtyon3: Python 3.4.0 (varsayılan 2014, 13:05:18)
- OpenSSL 11 Nisan: 1.0.1f 6 Ocak 2014
- pyelliptic: 1.5.7
Ayrıca bunu Python 3.4.3 ile benzer bir sistemde test ettim ve bu davranışı yeniden üretebiliyorum.
Hatanızı Sisteminizde yeniden üretebilir misiniz? Evet ise, ne sebep olur?
Güncelleme
Ben ayrıntılı Testi çalıştırırsanız (python3 -m unittest -v test_pyelliptic2.py) aşağıdaki çıktıyı (iki kez çalıştırın) üretir: bazı daha fazla araştırma sonrasında
[email protected]:~/test$ python3 -m unittest -v test_pyelliptic2.py
test_pickleSign (test_pyelliptic2.PyellipticTestCase) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.012s
OK
[email protected]:~/test$ python3 -m unittest -v test_pyelliptic2.py
test_pickleSign (test_pyelliptic2.PyellipticTestCase) ... FAIL
======================================================================
FAIL: test_pickleSign (test_pyelliptic2.PyellipticTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "XX/test/test_pyelliptic2.py", line 14, in test_pickleSign
self.assertTrue(pyelliptic.ECC(pubkey=self.alice.get_pubkey()).verify(tms2bb['s2'],pickle.dumps(tms2['doc']))) #<--- FAILs sometimes
AssertionError: False is not true
----------------------------------------------------------------------
Ran 1 test in 0.013s
FAILED (failures=1)