From 7a83287c8fe1fb26ae826277b078ea80bd0f256c Mon Sep 17 00:00:00 2001 From: kabeor Date: Sat, 15 Oct 2022 12:38:57 +0800 Subject: [PATCH] optimize evm dependency package version manage --- qiling/arch/evm/__init__.py | 4 ---- tests/test_evm.py | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/qiling/arch/evm/__init__.py b/qiling/arch/evm/__init__.py index 2f003ebe7..1dcd2791f 100644 --- a/qiling/arch/evm/__init__.py +++ b/qiling/arch/evm/__init__.py @@ -1,9 +1,5 @@ import sys -# python 3.10 has not been supported yet in the latest blake2b-py release -if sys.version_info >= (3,10): - sys.exit('Sorry, Python > 3.10 is not supported for now') - # Ensure we can reach 1024 frames of recursion # EVM_RECURSION_LIMIT = 1024 * 12 diff --git a/tests/test_evm.py b/tests/test_evm.py index 79cf062bc..4e8c1d4f9 100644 --- a/tests/test_evm.py +++ b/tests/test_evm.py @@ -13,12 +13,18 @@ if platform.system() == "Darwin" and platform.machine() == "arm64": sys.exit(0) +# python 3.10 has not been supported yet in the latest blake2b-py release +if sys.version_info >= (3,10): + sys.exit(0) + + class Checklist: def __init__(self) -> None: self.visited_hookcode = False self.visited_hookinsn = False self.visited_hookaddr = False + class EVMTest(unittest.TestCase): def test_underflow_code(self): ql = Qiling(code="0x6060604052341561000f57600080fd5b60405160208061031c833981016040528080519060200190919050508060018190556000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050610299806100836000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017a565b604051808215151515815260200191505060405180910390f35b60015481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403101515156101cb57600080fd5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060019050929150505600a165627a7a7230582098f1551a391a3e65b3ce45cfa2b3fa5f91eea9a3e7181a81454e025ea0d7151c0029",archtype="evm", verbose=4) @@ -145,5 +151,6 @@ def test_abi_encoding(self): result_data = ql.arch.evm.abi.decode_params(['string'], result.output) self.assertEqual(call_param[0], result_data[0]) + if __name__ == "__main__": unittest.main() \ No newline at end of file