diff --git a/hydrachain/tests/test_serpent_contract.py b/hydrachain/tests/test_serpent_contract.py new file mode 100644 index 0000000..16c1e2f --- /dev/null +++ b/hydrachain/tests/test_serpent_contract.py @@ -0,0 +1,25 @@ +from ethereum import tester +import serpent +import logging +logging.NOTSET = logging.INFO +tester.disable_logging() + + +def test_send_contract(): + serpent_code = ''' +def main(a,b): + return(a ^ b) +''' + s = tester.state() + assert len(s.blocks) == 1 + head = s.blocks[0] + evm_code = serpent.compile(serpent_code) + s._send(tester.k0, b'', 0, evmdata=evm_code) + creates = head.get_transaction(0).creates + s.mine() + + assert len(s.blocks) == 2 + head = s.blocks[-1] + code = head.account_to_dict(creates)['code'] + assert len(code) > 2 + assert code != '0x' diff --git a/requirements.txt b/requirements.txt index a35b3db..aa98473 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,4 @@ c_secp256k1==0.0.8 bitcoin simpy pytest==2.8.2 -serpent +pipdeptree diff --git a/tox.ini b/tox.ini index 4702c3d..d8e2f3c 100644 --- a/tox.ini +++ b/tox.ini @@ -11,6 +11,7 @@ deps = passenv = DOCKER_HOST DOCKER_TLS_VERIFY DOCKER_CERT_PATH commands = + pipdeptree coverage run --source hydrachain --branch -m py.test {posargs}