Beispiel #1
0
def test_indirect_sort():
    set_level(None, 'info')
    s = tester.state()
    open(filename9, 'w').write(sort_code)
    c = s.abi_contract(sort_tester_code)
    assert c.test([80, 234, 112, 112, 29]) == [29, 80, 112, 112, 234]
    os.remove(filename9)
Beispiel #2
0
def test_indirect_sort():
    set_level(None, 'info')
    s = tester.state()
    open(filename9, 'w').write(sort_code)
    c = s.abi_contract(sort_tester_code)
    assert c.test([80, 234, 112, 112, 29]) == [29, 80, 112, 112, 234]
    os.remove(filename9)
Beispiel #3
0
def test_sort():
    set_level(None, 'info')
    s = tester.state()
    c = s.abi_contract(sort_code)
    assert c.sort([9]) == [9]
    assert c.sort([9, 5]) == [5, 9]
    assert c.sort([9, 3, 5]) == [3, 5, 9]
    assert c.sort([80, 234, 112, 112, 29]) == [29, 80, 112, 112, 234]
Beispiel #4
0
def test_sort():
    set_level(None, 'info')
    s = tester.state()
    c = s.abi_contract(sort_code)
    assert c.sort([9]) == [9]
    assert c.sort([9, 5]) == [5, 9]
    assert c.sort([9, 3, 5]) == [3, 5, 9]
    assert c.sort([80, 234, 112, 112, 29]) == [29, 80, 112, 112, 234]
Beispiel #5
0
def test_mul():
    set_level(None, 'info')
    s = t.state()
    c = s.abi_contract(serpent_code)
    assert c.mul([1, 0, 0, 1], [2, 3, 4, 5]) == [2, 3, 4, 5]
    assert c.exp([0, 1, -1, 0], 24) == [1, 0, 0, 1]
    assert c.exp([0, -1, 1, 0], 39) == [0, 1, -1, 0]
    t.gas_limit = 100000000
    x = time.time()
    c.exp([i for i in range(81)], 31415)
    print('Exponentiation done in: %f' % (time.time() - x))
Beispiel #6
0
def test_mul():
    set_level(None, 'info')
    s = t.state()
    c = s.abi_contract(serpent_code)
    assert c.mul([1, 0, 0, 1], [2, 3, 4, 5]) == [2, 3, 4, 5]
    assert c.exp([0, 1, -1, 0], 24) == [1, 0, 0, 1]
    assert c.exp([0, -1, 1, 0], 39) == [0, 1, -1, 0]
    t.gas_limit = 100000000
    x = time.time()
    c.exp([i for i in range(81)], 31415)
    print('Exponentiation done in: %f' % (time.time() - x))
Beispiel #7
0
def set_logging_level(lvl=0):
    trace_lvl_map = [
        ":info",
        "eth.vm.log:trace",
        ":info,eth.vm.log:trace,eth.vm.exit:trace",
        ":info,eth.vm.log:trace,eth.vm.op:trace,eth.vm.stack:trace",
        ":info,eth.vm.log:trace,eth.vm.op:trace,eth.vm.stack:trace," + "eth.vm.storage:trace,eth.vm.memory:trace",
    ]
    configure_logging(config_string=trace_lvl_map[lvl])
    if lvl == 0:
        set_level(None, "info")
    print("Set logging level: %d" % lvl)
Beispiel #8
0
def set_logging_level(lvl=0):
    trace_lvl_map = [
        ':info', 'eth.vm.log:trace',
        ':info,eth.vm.log:trace,eth.vm.exit:trace',
        ':info,eth.vm.log:trace,eth.vm.op:trace,eth.vm.stack:trace',
        ':info,eth.vm.log:trace,eth.vm.op:trace,eth.vm.stack:trace,' +
        'eth.vm.storage:trace,eth.vm.memory:trace'
    ]
    configure_logging(config_string=trace_lvl_map[lvl])
    if lvl == 0:
        set_level(None, 'info')
    print('Set logging level: %d' % lvl)
Beispiel #9
0
def set_logging_level(lvl=0):
    trace_lvl_map = [
        ':info',
        'eth.vm.log:trace',
        ':info,eth.vm.log:trace,eth.vm.exit:trace',
        ':info,eth.vm.log:trace,eth.vm.op:trace,eth.vm.stack:trace',
        ':info,eth.vm.log:trace,eth.vm.op:trace,eth.vm.stack:trace,' +
        'eth.vm.storage:trace,eth.vm.memory:trace'
    ]
    configure_logging(config_string=trace_lvl_map[lvl])
    if lvl == 0:
        set_level(None, 'info')
    print('Set logging level: %d' % lvl)
Beispiel #10
0
def test_prevhashes():
    set_level(None, 'info')
    s = tester.state()
    c = s.abi_contract(prevhashes_code)
    s.mine(7)
    # Hashes of last 14 blocks including existing one
    o1 = [x % 2**256 for x in c.get_prevhashes(14)]
    # hash of self = 0, hash of blocks back to genesis block as is, hash of
    # blocks before genesis block = 0
    t1 = [0] + [utils.big_endian_to_int(b.hash) for b in s.blocks[-2::-1]] \
        + [0] * 6
    assert o1 == t1
    s.mine(256)
    # Test 256 limit: only 1 <= g <= 256 generation ancestors get hashes shown
    o2 = [x % 2**256 for x in c.get_prevhashes(270)]
    t2 = [0] + [utils.big_endian_to_int(b.hash) for b in s.blocks[-2:-258:-1]] \
        + [0] * 13
    assert o2 == t2
Beispiel #11
0
def test_prevhashes():
    set_level(None, 'info')
    s = tester.state()
    c = s.abi_contract(prevhashes_code)
    s.mine(7)
    # Hashes of last 14 blocks including existing one
    o1 = [x % 2**256 for x in c.get_prevhashes(14)]
    # hash of self = 0, hash of blocks back to genesis block as is, hash of
    # blocks before genesis block = 0
    t1 = [0] + [utils.big_endian_to_int(b.hash) for b in s.blocks[-2::-1]] \
        + [0] * 6
    assert o1 == t1
    s.mine(256)
    # Test 256 limit: only 1 <= g <= 256 generation ancestors get hashes shown
    o2 = [x % 2**256 for x in c.get_prevhashes(270)]
    t2 = [0] + [utils.big_endian_to_int(b.hash) for b in s.blocks[-2:-258:-1]] \
        + [0] * 13
    assert o2 == t2
Beispiel #12
0
import os
from devp2p.service import BaseService
from ethereum.db import BaseDB
from gevent.event import Event
import leveldb
from ethereum import slogging

slogging.set_level('db', 'debug')
log = slogging.get_logger('db')

compress = decompress = lambda x: x


"""
memleak in py-leveldb


25140 ralf      20   0 3360m 1.3g  53m S    3  4.2   4:12.71 pyethapp
26167 ralf      20   0 2943m 1.0g  44m S    1  3.3   3:19.51 pyethapp


25140 ralf      20   0 3531m 1.5g  61m S    1  4.7   5:07.49 pyethapp
26167 ralf      20   0 3115m 1.1g  47m S    1  3.6   4:03.54 pyethapp


mit reload_db()
 4096 ralf      20   0 1048m 362m  14m S    2  1.1   1:21.97 pyethapp
 4109 ralf      20   0  975m 307m  14m S    2  1.0   1:16.03 pyethapp

 4096 ralf      20   0  903m 431m 9484 S    2  1.3   1:54.29 pyethapp
 4109 ralf      20   0  807m 367m 8852 S    1  1.1   1:47.01 pyethapp
Beispiel #13
0
import click
import ethereum
import gevent
from IPython.core import ultratb
from ethereum.block import Block
from devp2p.service import BaseService
import rlp
import sys
from ethereum import slogging
from ethereum.genesis_helpers import mk_genesis_block
from ethereum.slogging import bcolors
import types


slogging.set_level('db', 'debug')
log = slogging.get_logger('db')


def load_contrib_services(config):  # FIXME
    # load contrib services
    config_directory = config['data_dir']
    contrib_directory = os.path.join(config_directory, 'contrib')  # change to pyethapp/contrib
    contrib_modules = []
    if not os.path.exists(contrib_directory):
        log.info('No contrib directory found, so not loading any user services')
        return []
    x = os.getcwd()
    os.chdir(config_directory)
    for filename in os.listdir(contrib_directory):
        if filename.endswith('.py'):
Beispiel #14
0
def test_set_level():
    slogging.set_level('test', 'CRITICAL')
    assert slogging.getLogger('test').level == logging.CRITICAL
Beispiel #15
0
def do_test_state(filename, testname=None, testdata=None, limit=99999999):
    set_level(None, 'info')
    logger.debug('running test:%r in %r' % (testname, filename))
    testutils.check_state_test(testutils.fixture_to_bytes(testdata))
Beispiel #16
0
    log = slogging.get_logger('eth.vm')

    # record all logs
    def run_vm(raise_error=False):
        log.trace('op', pc=1)
        log.trace('op', pc=2)
        if raise_error:
            raise Exception

    recorder = slogging.LogRecorder()
    try:
        run_vm(raise_error=True)
    except:
        log = slogging.get_logger('eth.vm')
        for x in recorder.pop_records():
            log.info(x.pop('event'), **x)


def test_cleanup():
    config_string = ':debug'
    slogging.configure(config_string=config_string)


if __name__ == '__main__':
    slogging.configure(':debug')
    tester = slogging.get_logger('tester')
    assert tester.is_active(level_name='info')
    slogging.set_level('tester', 'trace')
    assert tester.is_active(level_name='trace')
    tester.info('done')
Beispiel #17
0
def test_set_level():
    slogging.set_level('test', 'CRITICAL')
    assert slogging.getLogger('test').level == logging.CRITICAL
Beispiel #18
0
    log = slogging.get_logger('eth.vm')

    # record all logs
    def run_vm(raise_error=False):
        log.trace('op', pc=1)
        log.trace('op', pc=2)
        if raise_error:
            raise Exception

    recorder = slogging.LogRecorder()
    try:
        run_vm(raise_error=True)
    except:
        log = slogging.get_logger('eth.vm')
        for x in recorder.pop_records():
            log.info(x.pop('event'), **x)


def test_cleanup():
    config_string = ':debug'
    slogging.configure(config_string=config_string)


if __name__ == '__main__':
    slogging.configure(':debug')
    tester = slogging.get_logger('tester')
    assert tester.is_active(level_name='info')
    slogging.set_level('tester', 'trace')
    assert tester.is_active(level_name='trace')
    tester.info('done')
Beispiel #19
0
def test_set_level():
    slogging.set_level("test", "CRITICAL")
    assert slogging.getLogger("test").level == logging.CRITICAL
Beispiel #20
0
def do_test_state(filename, testname=None, testdata=None, limit=99999999):
    set_level(None, 'info')
    logger.debug('running test:%r in %r' % (testname, filename))
    testutils.check_state_test(testutils.fixture_to_bytes(testdata))