test case for openclpow module
This commit is contained in:
parent
9c5d329c90
commit
1612f9c778
|
@ -2,9 +2,8 @@
|
||||||
"""
|
"""
|
||||||
Module for Proof of Work using OpenCL
|
Module for Proof of Work using OpenCL
|
||||||
"""
|
"""
|
||||||
import hashlib
|
|
||||||
import os
|
import os
|
||||||
from struct import pack, unpack
|
from struct import pack
|
||||||
|
|
||||||
import paths
|
import paths
|
||||||
from bmconfigparser import BMConfigParser
|
from bmconfigparser import BMConfigParser
|
||||||
|
@ -109,14 +108,3 @@ def do_opencl_pow(hash_, target):
|
||||||
raise Exception("Interrupted")
|
raise Exception("Interrupted")
|
||||||
# logger.debug("Took %d tries.", progress)
|
# logger.debug("Took %d tries.", progress)
|
||||||
return output[0][0]
|
return output[0][0]
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
initCL()
|
|
||||||
target_ = 54227212183
|
|
||||||
initialHash = ("3758f55b5a8d902fd3597e4ce6a2d3f23daff735f65d9698c270987f4e67ad590"
|
|
||||||
"b93f3ffeba0ef2fd08a8dc2f87b68ae5a0dc819ab57f22ad2c4c9c8618a43b3").decode("hex")
|
|
||||||
nonce = do_opencl_pow(initialHash.encode("hex"), target_)
|
|
||||||
trialValue, = unpack(
|
|
||||||
'>Q', hashlib.sha512(hashlib.sha512(pack('>Q', nonce) + initialHash).digest()).digest()[0:8])
|
|
||||||
print "{} - value {} < {}".format(nonce, trialValue, target_)
|
|
||||||
|
|
28
src/tests/test_openclpow.py
Normal file
28
src/tests/test_openclpow.py
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
"""
|
||||||
|
Tests for openclpow module
|
||||||
|
"""
|
||||||
|
import hashlib
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
import pybitmessage.openclpow as openclpow
|
||||||
|
|
||||||
|
from struct import pack, unpack
|
||||||
|
|
||||||
|
|
||||||
|
class TestOpenClPow(unittest.TestCase):
|
||||||
|
"""
|
||||||
|
Main opencl test case
|
||||||
|
"""
|
||||||
|
|
||||||
|
@unittest.skipIf(not openclpow.libAvailable,
|
||||||
|
"pyopencl is not installed")
|
||||||
|
def test_openclpow(self):
|
||||||
|
"""Check the working of openclpow module"""
|
||||||
|
openclpow.initCL()
|
||||||
|
target_ = 54227212183
|
||||||
|
initialHash = ("3758f55b5a8d902fd3597e4ce6a2d3f23daff735f65d9698c270987f4e67ad590"
|
||||||
|
"b93f3ffeba0ef2fd08a8dc2f87b68ae5a0dc819ab57f22ad2c4c9c8618a43b3").decode("hex")
|
||||||
|
nonce = openclpow.do_opencl_pow(initialHash.encode("hex"), target_)
|
||||||
|
trialValue, = unpack(
|
||||||
|
'>Q', hashlib.sha512(hashlib.sha512(pack('>Q', nonce) + initialHash).digest()).digest()[0:8])
|
||||||
|
self.assertLess((nonce - trialValue), target_)
|
Reference in New Issue
Block a user