def main(): assert len(sys.argv) >= 2, "Please specify file or dir name" fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) if len(sys.argv) >= 3: for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) run_block_test( testdata, { 'HOMESTEAD_FORK_BLKNUM': 0 if 'Homestead' in filename else 5 if 'TestNetwork' in filename else 1000000 }) else: for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if (filename.split('/')[-1], testname) not in excludes: print("Testing: %s %s" % (filename, testname)) run_block_test( testdata, { 'HOMESTEAD_FORK_BLKNUM': 0 if 'Homestead' in filename else 5 if 'TestNetwork' in filename else 1000000 })
def main(): if len(sys.argv) == 1: # read fixture from stdin #fixtures = {'stdin': json.load(sys.stdin)} import os os.chdir('fixtures/VMTests/vmArithmeticTest') fixtures = testutils.get_tests_from_file_or_dir('add0.json') else: # load fixtures from specified file or dir try: fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) except: fixtures = {'stdin': json.loads(sys.argv[1])} for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if len(sys.argv) < 3 or testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) testutils.check_vm_test(testdata)
def main(): if len(sys.argv) == 1: # read fixture from stdin fixtures = {'stdin': json.load(sys.stdin)} else: # load fixtures from specified file or dir fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if len(sys.argv) < 3 or testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) # testutils.check_state_test(testdata) test_transaction(filename, testname, testdata)
def main(): global fixtures, filename, tests, testname, testdata if len(sys.argv) == 1: # read fixture from stdin fixtures = {"stdin": json.load(sys.stdin)} else: # load fixtures from specified file or dir try: fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) except: fixtures = {"stdin": json.loads(sys.argv[1])} for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if len(sys.argv) < 3 or testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) testutils.check_state_test(testdata)
def main(): assert len(sys.argv) >= 2, "Please specify file or dir name" fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) if len(sys.argv) >= 3: for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) config_overrides = get_config_overrides(filename) run_block_test(testdata, config_overrides=config_overrides) else: for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if (filename.split('/')[-1], testname) not in excludes: print("Testing: %s %s" % (filename, testname)) config_overrides = get_config_overrides(filename) run_block_test(testdata, config_overrides=config_overrides)
def main(): assert len(sys.argv) >= 2, "Please specify file or dir name" fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) if len(sys.argv) >= 3: for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) run_block_test(testdata, { 'HOMESTEAD_FORK_BLKNUM': 0 if 'Homestead' in filename else 5 if 'TestNetwork' in filename else 1000000}) else: for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if (filename.split('/')[-1], testname) not in excludes: print("Testing: %s %s" % (filename, testname)) run_block_test(testdata, { 'HOMESTEAD_FORK_BLKNUM': 0 if 'Homestead' in filename else 5 if 'TestNetwork' in filename else 1000000})
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)) if __name__ == '__main__': if len(sys.argv) == 1: # read fixture from stdin fixtures = {'stdin': json.load(sys.stdin)} else: # load fixtures from specified file or dir try: fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) except: fixtures = {'stdin': json.loads(sys.argv[1])} for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if len(sys.argv) < 3 or testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) testutils.check_state_test(testdata) else: fixtures = testutils.get_tests_from_file_or_dir( os.path.join(testutils.fixture_path, 'StateTests')) filenames = sorted(list(fixtures.keys())) for filename in filenames: tests = fixtures[filename] if 'stQuadraticComplexityTest.json' in filename or \
sys.argv.remove('trace') def do_test_vm(filename, testname=None, testdata=None, limit=99999999): logger.debug('running test:%r in %r' % (testname, filename)) testutils.check_vm_test(testutils.fixture_to_bytes(testdata)) if __name__ == '__main__': if len(sys.argv) == 1: # read fixture from stdin fixtures = {'stdin': json.load(sys.stdin)} else: # load fixtures from specified file or dir try: fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) except: fixtures = {'stdin': json.loads(sys.argv[1])} for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if len(sys.argv) < 3 or testname == sys.argv[2]: print("Testing: %s %s" % (filename, testname)) testutils.check_vm_test(testdata) else: fixtures = testutils.get_tests_from_file_or_dir( os.path.join(testutils.fixture_path, 'VMTests')) def mk_test_func(filename, testname, testdata): return lambda: do_test_vm(filename, testname, testdata) for filename, tests in list(fixtures.items()):
import os import ethereum.testutils as testutils from ethereum.slogging import get_logger import ethereum.abi as abi logger = get_logger() def test_abi_encode_var_sized_array(): abi.encode_abi(['address[]'], [['\x00' * 20] * 3]) def test_abi_encode_fixed_size_array(): abi.encode_abi(['uint16[2]'], [[5, 6]]) # SETUP TESTS IN GLOBAL NAME SPACE def gen_func(filename, testname, testdata): return lambda: do_test_state(filename, testname, testdata) def do_test_state(filename, testname=None, testdata=None, limit=99999999): logger.debug('running test:%r in %r' % (testname, filename)) testutils.check_abi_test(testutils.fixture_to_bytes(testdata)) fixtures = testutils.get_tests_from_file_or_dir( os.path.join(testutils.fixture_path, 'ABITests')) filenames = sorted(list(fixtures.keys())) for filename in filenames: tests = fixtures[filename] for testname, testdata in list(tests.items()): func_name = 'test_%s_%s' % (filename, testname) globals()[func_name] = gen_func(filename, testname, testdata)
tx = None if "transaction" not in testdata: # expected to fail assert tx is None else: assert set(o["transaction"].keys()) == set(testdata.get("transaction", dict()).keys()) o.get("transaction", None) == testdata.get("transaction", None) assert encode_hex(o.get("sender", "")) == testdata.get("sender", "") if __name__ == "__main__": if len(sys.argv) == 1: # read fixture from stdin fixtures = {"stdin": json.load(sys.stdin)} else: # load fixtures from specified file or dir fixtures = testutils.get_tests_from_file_or_dir(sys.argv[1]) for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): if len(sys.argv) < 3 or testname == sys.argv[2]: print ("Testing: %s %s" % (filename, testname)) # testutils.check_state_test(testdata) run_test(filename, testname, testdata) else: fixtures = testutils.get_tests_from_file_or_dir(os.path.join(testutils.fixture_path, "TransactionTests")) def mk_test_func(filename, testname, testdata): return lambda: run_test(filename, testname, testdata) for filename, tests in list(fixtures.items()): for testname, testdata in list(tests.items()): func_name = "test_%s_%s" % (filename, testname)