From 15cacc749d4d5db74a63634efdb9c07d4202223f Mon Sep 17 00:00:00 2001 From: jangko Date: Tue, 12 Jan 2021 16:17:00 +0700 Subject: [PATCH] clean up EIP2929 for test --- PrecompileTests.md | 6 +- newBlockChainTests.md | 599 +++++++++++++++++---------------- newGeneralStateTests.md | 17 +- tests/fixtures/eth_tests | 2 +- tests/test_allowed_to_fail.nim | 21 +- tests/test_blockchain_json.nim | 4 +- tests/test_precompiles.nim | 2 +- witnessBuilderBC.md | 17 +- witnessBuilderGST.md | 17 +- 9 files changed, 372 insertions(+), 313 deletions(-) diff --git a/PrecompileTests.md b/PrecompileTests.md index f7ee2bd8d..992d27b59 100644 --- a/PrecompileTests.md +++ b/PrecompileTests.md @@ -19,13 +19,13 @@ PrecompileTests + ecrecover.json OK + identity.json OK + modexp.json OK -+ modexp_eip2565.json OK + modexp_eip2565.json Skip + pairing.json OK + pairing_istanbul.json OK + ripemd160.json OK + sha256.json OK ``` -OK: 22/22 Fail: 0/22 Skip: 0/22 +OK: 21/22 Fail: 0/22 Skip: 1/22 ---TOTAL--- -OK: 22/22 Fail: 0/22 Skip: 0/22 +OK: 21/22 Fail: 0/22 Skip: 1/22 diff --git a/newBlockChainTests.md b/newBlockChainTests.md index 9442193af..08e36cc82 100644 --- a/newBlockChainTests.md +++ b/newBlockChainTests.md @@ -2253,20 +2253,20 @@ OK: 11/13 Fail: 0/13 Skip: 2/13 OK: 9/9 Fail: 0/9 Skip: 0/9 ## stStaticCall ```diff -+ static_ABAcalls0.json OK -+ static_ABAcalls1.json OK -+ static_ABAcalls2.json OK -+ static_ABAcalls3.json OK -+ static_ABAcallsSuicide0.json OK -+ static_ABAcallsSuicide1.json OK -+ static_CALL_OneVCallSuicide.json OK -+ static_CALL_ZeroVCallSuicide.json OK -+ static_CREATE_ContractSuicideDuringInit.json OK -+ static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.jso OK -+ static_CREATE_ContractSuicideDuringInit_WithValue.json OK -+ static_CREATE_EmptyContractAndCallIt_0wei.json OK -+ static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json OK -+ static_Call10.json OK + static_ABAcalls0.json Skip + static_ABAcalls1.json Skip + static_ABAcalls2.json Skip + static_ABAcalls3.json Skip + static_ABAcallsSuicide0.json Skip + static_ABAcallsSuicide1.json Skip + static_CALL_OneVCallSuicide.json Skip + static_CALL_ZeroVCallSuicide.json Skip + static_CREATE_ContractSuicideDuringInit.json Skip + static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturn.jso Skip + static_CREATE_ContractSuicideDuringInit_WithValue.json Skip + static_CREATE_EmptyContractAndCallIt_0wei.json Skip + static_CREATE_EmptyContractWithStorageAndCallIt_0wei.json Skip + static_Call10.json Skip static_Call1024BalanceTooLow.json Skip static_Call1024BalanceTooLow2.json Skip static_Call1024OOG.json Skip @@ -2279,265 +2279,280 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 static_Call50000_identity.json Skip static_Call50000_identity2.json Skip static_Call50000_rip160.json Skip -+ static_Call50000bytesContract50_1.json OK -+ static_Call50000bytesContract50_2.json OK -+ static_Call50000bytesContract50_3.json OK -+ static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json OK -+ static_CallAskMoreGasOnDepth2ThenTransactionHas.json OK -+ static_CallContractToCreateContractAndCallItOOG.json OK -+ static_CallContractToCreateContractOOG.json OK -+ static_CallContractToCreateContractOOGBonusGas.json OK -+ static_CallContractToCreateContractWhichWouldCreateContractIfCa OK -+ static_CallEcrecover0.json OK -+ static_CallEcrecover0_0input.json OK -+ static_CallEcrecover0_Gas2999.json OK -+ static_CallEcrecover0_NoGas.json OK -+ static_CallEcrecover0_completeReturnValue.json OK -+ static_CallEcrecover0_gas3000.json OK -+ static_CallEcrecover0_overlappingInputOutput.json OK -+ static_CallEcrecover1.json OK -+ static_CallEcrecover2.json OK -+ static_CallEcrecover3.json OK -+ static_CallEcrecover80.json OK -+ static_CallEcrecoverCheckLength.json OK -+ static_CallEcrecoverCheckLengthWrongV.json OK -+ static_CallEcrecoverH_prefixed0.json OK -+ static_CallEcrecoverR_prefixed0.json OK -+ static_CallEcrecoverS_prefixed0.json OK -+ static_CallEcrecoverV_prefixed0.json OK -+ static_CallGoesOOGOnSecondLevel.json OK -+ static_CallGoesOOGOnSecondLevel2.json OK -+ static_CallIdentitiy_1.json OK -+ static_CallIdentity_1_nonzeroValue.json OK -+ static_CallIdentity_2.json OK -+ static_CallIdentity_3.json OK -+ static_CallIdentity_4.json OK -+ static_CallIdentity_4_gas17.json OK -+ static_CallIdentity_4_gas18.json OK -+ static_CallIdentity_5.json OK -+ static_CallLoseGasOOG.json OK -+ static_CallRecursiveBomb0.json OK -+ static_CallRecursiveBomb0_OOG_atMaxCallDepth.json OK -+ static_CallRecursiveBomb1.json OK -+ static_CallRecursiveBomb2.json OK -+ static_CallRecursiveBomb3.json OK -+ static_CallRecursiveBombLog.json OK -+ static_CallRecursiveBombLog2.json OK -+ static_CallRecursiveBombPreCall.json OK -+ static_CallRecursiveBombPreCall2.json OK -+ static_CallRipemd160_1.json OK -+ static_CallRipemd160_2.json OK -+ static_CallRipemd160_3.json OK -+ static_CallRipemd160_3_postfixed0.json OK -+ static_CallRipemd160_3_prefixed0.json OK -+ static_CallRipemd160_4.json OK -+ static_CallRipemd160_4_gas719.json OK -+ static_CallRipemd160_5.json OK -+ static_CallSha256_1.json OK -+ static_CallSha256_1_nonzeroValue.json OK -+ static_CallSha256_2.json OK -+ static_CallSha256_3.json OK -+ static_CallSha256_3_postfix0.json OK -+ static_CallSha256_3_prefix0.json OK -+ static_CallSha256_4.json OK -+ static_CallSha256_4_gas99.json OK -+ static_CallSha256_5.json OK -+ static_CallToNameRegistrator0.json OK -+ static_CallToReturn1.json OK -+ static_CalltoReturn2.json OK -+ static_CheckCallCostOOG.json OK -+ static_CheckOpcodes.json OK -+ static_CheckOpcodes2.json OK -+ static_CheckOpcodes3.json OK -+ static_CheckOpcodes4.json OK -+ static_CheckOpcodes5.json OK -+ static_ExecuteCallThatAskForeGasThenTrabsactionHas.json OK -+ static_InternalCallHittingGasLimit.json OK -+ static_InternalCallHittingGasLimit2.json OK -+ static_InternlCallStoreClearsOOG.json OK -+ static_LoopCallsDepthThenRevert.json OK -+ static_LoopCallsDepthThenRevert2.json OK -+ static_LoopCallsDepthThenRevert3.json OK -+ static_LoopCallsThenRevert.json OK -+ static_PostToReturn1.json OK -+ static_RETURN_Bounds.json OK -+ static_RETURN_BoundsOOG.json OK -+ static_RawCallGasAsk.json OK -+ static_Return50000_2.json OK -+ static_ReturnTest.json OK -+ static_ReturnTest2.json OK -+ static_RevertDepth2.json OK -+ static_RevertOpcodeCalls.json OK -+ static_ZeroValue_CALL_OOGRevert.json OK -+ static_ZeroValue_SUICIDE_OOGRevert.json OK -+ static_callBasic.json OK -+ static_callChangeRevert.json OK -+ static_callCreate.json OK -+ static_callCreate2.json OK -+ static_callCreate3.json OK -+ static_callOutput1.json OK -+ static_callOutput2.json OK -+ static_callOutput3.json OK -+ static_callOutput3Fail.json OK -+ static_callOutput3partial.json OK -+ static_callOutput3partialFail.json OK -+ static_callToCallCodeOpCodeCheck.json OK -+ static_callToCallOpCodeCheck.json OK -+ static_callToDelCallOpCodeCheck.json OK -+ static_callToStaticOpCodeCheck.json OK -+ static_callWithHighValue.json OK -+ static_callWithHighValueAndGasOOG.json OK -+ static_callWithHighValueAndOOGatTxLevel.json OK -+ static_callWithHighValueOOGinCall.json OK -+ static_call_OOG_additionalGasCosts1.json OK -+ static_call_OOG_additionalGasCosts2.json OK -+ static_call_value_inherit.json OK -+ static_call_value_inherit_from_call.json OK -+ static_callcall_00.json OK -+ static_callcall_00_OOGE.json OK -+ static_callcall_00_OOGE_1.json OK -+ static_callcall_00_OOGE_2.json OK -+ static_callcall_00_SuicideEnd.json OK -+ static_callcallcall_000.json OK -+ static_callcallcall_000_OOGE.json OK -+ static_callcallcall_000_OOGMAfter.json OK -+ static_callcallcall_000_OOGMAfter2.json OK -+ static_callcallcall_000_OOGMBefore.json OK -+ static_callcallcall_000_SuicideEnd.json OK -+ static_callcallcall_000_SuicideMiddle.json OK -+ static_callcallcall_ABCB_RECURSIVE.json OK -+ static_callcallcallcode_001.json OK -+ static_callcallcallcode_001_2.json OK -+ static_callcallcallcode_001_OOGE.json OK -+ static_callcallcallcode_001_OOGE_2.json OK -+ static_callcallcallcode_001_OOGMAfter.json OK -+ static_callcallcallcode_001_OOGMAfter2.json OK -+ static_callcallcallcode_001_OOGMAfter_2.json OK -+ static_callcallcallcode_001_OOGMAfter_3.json OK -+ static_callcallcallcode_001_OOGMBefore.json OK -+ static_callcallcallcode_001_OOGMBefore2.json OK -+ static_callcallcallcode_001_SuicideEnd.json OK -+ static_callcallcallcode_001_SuicideEnd2.json OK -+ static_callcallcallcode_001_SuicideMiddle.json OK -+ static_callcallcallcode_001_SuicideMiddle2.json OK -+ static_callcallcallcode_ABCB_RECURSIVE.json OK -+ static_callcallcallcode_ABCB_RECURSIVE2.json OK -+ static_callcallcode_01_2.json OK -+ static_callcallcode_01_OOGE_2.json OK -+ static_callcallcode_01_SuicideEnd.json OK -+ static_callcallcode_01_SuicideEnd2.json OK -+ static_callcallcodecall_010.json OK -+ static_callcallcodecall_010_2.json OK -+ static_callcallcodecall_010_OOGE.json OK -+ static_callcallcodecall_010_OOGE_2.json OK -+ static_callcallcodecall_010_OOGMAfter.json OK -+ static_callcallcodecall_010_OOGMAfter2.json OK -+ static_callcallcodecall_010_OOGMAfter_2.json OK -+ static_callcallcodecall_010_OOGMAfter_3.json OK -+ static_callcallcodecall_010_OOGMBefore.json OK -+ static_callcallcodecall_010_OOGMBefore2.json OK -+ static_callcallcodecall_010_SuicideEnd.json OK -+ static_callcallcodecall_010_SuicideEnd2.json OK -+ static_callcallcodecall_010_SuicideMiddle.json OK -+ static_callcallcodecall_010_SuicideMiddle2.json OK -+ static_callcallcodecall_ABCB_RECURSIVE.json OK -+ static_callcallcodecall_ABCB_RECURSIVE2.json OK -+ static_callcallcodecallcode_011.json OK -+ static_callcallcodecallcode_011_2.json OK -+ static_callcallcodecallcode_011_OOGE.json OK -+ static_callcallcodecallcode_011_OOGE_2.json OK -+ static_callcallcodecallcode_011_OOGMAfter.json OK -+ static_callcallcodecallcode_011_OOGMAfter2.json OK -+ static_callcallcodecallcode_011_OOGMAfter_1.json OK -+ static_callcallcodecallcode_011_OOGMAfter_2.json OK -+ static_callcallcodecallcode_011_OOGMBefore.json OK -+ static_callcallcodecallcode_011_OOGMBefore2.json OK -+ static_callcallcodecallcode_011_SuicideEnd.json OK -+ static_callcallcodecallcode_011_SuicideEnd2.json OK -+ static_callcallcodecallcode_011_SuicideMiddle.json OK -+ static_callcallcodecallcode_011_SuicideMiddle2.json OK -+ static_callcallcodecallcode_ABCB_RECURSIVE.json OK -+ static_callcallcodecallcode_ABCB_RECURSIVE2.json OK -+ static_callcode_checkPC.json OK -+ static_callcodecall_10.json OK -+ static_callcodecall_10_2.json OK -+ static_callcodecall_10_OOGE.json OK -+ static_callcodecall_10_OOGE_2.json OK -+ static_callcodecall_10_SuicideEnd.json OK -+ static_callcodecall_10_SuicideEnd2.json OK -+ static_callcodecallcall_100.json OK -+ static_callcodecallcall_100_2.json OK -+ static_callcodecallcall_100_OOGE.json OK -+ static_callcodecallcall_100_OOGE2.json OK -+ static_callcodecallcall_100_OOGMAfter.json OK -+ static_callcodecallcall_100_OOGMAfter2.json OK -+ static_callcodecallcall_100_OOGMAfter_2.json OK -+ static_callcodecallcall_100_OOGMAfter_3.json OK -+ static_callcodecallcall_100_OOGMBefore.json OK -+ static_callcodecallcall_100_OOGMBefore2.json OK -+ static_callcodecallcall_100_SuicideEnd.json OK -+ static_callcodecallcall_100_SuicideEnd2.json OK -+ static_callcodecallcall_100_SuicideMiddle.json OK -+ static_callcodecallcall_100_SuicideMiddle2.json OK -+ static_callcodecallcall_ABCB_RECURSIVE.json OK -+ static_callcodecallcall_ABCB_RECURSIVE2.json OK -+ static_callcodecallcallcode_101.json OK -+ static_callcodecallcallcode_101_2.json OK -+ static_callcodecallcallcode_101_OOGE.json OK -+ static_callcodecallcallcode_101_OOGE_2.json OK -+ static_callcodecallcallcode_101_OOGMAfter.json OK -+ static_callcodecallcallcode_101_OOGMAfter2.json OK -+ static_callcodecallcallcode_101_OOGMAfter_1.json OK -+ static_callcodecallcallcode_101_OOGMAfter_3.json OK -+ static_callcodecallcallcode_101_OOGMBefore.json OK -+ static_callcodecallcallcode_101_OOGMBefore2.json OK -+ static_callcodecallcallcode_101_SuicideEnd.json OK -+ static_callcodecallcallcode_101_SuicideEnd2.json OK -+ static_callcodecallcallcode_101_SuicideMiddle.json OK -+ static_callcodecallcallcode_101_SuicideMiddle2.json OK -+ static_callcodecallcallcode_ABCB_RECURSIVE.json OK -+ static_callcodecallcallcode_ABCB_RECURSIVE2.json OK -+ static_callcodecallcodecall_110.json OK -+ static_callcodecallcodecall_1102.json OK -+ static_callcodecallcodecall_110_2.json OK -+ static_callcodecallcodecall_110_OOGE.json OK -+ static_callcodecallcodecall_110_OOGE2.json OK -+ static_callcodecallcodecall_110_OOGMAfter.json OK -+ static_callcodecallcodecall_110_OOGMAfter2.json OK -+ static_callcodecallcodecall_110_OOGMAfter_2.json OK -+ static_callcodecallcodecall_110_OOGMAfter_3.json OK -+ static_callcodecallcodecall_110_OOGMBefore.json OK -+ static_callcodecallcodecall_110_OOGMBefore2.json OK -+ static_callcodecallcodecall_110_SuicideEnd.json OK -+ static_callcodecallcodecall_110_SuicideEnd2.json OK -+ static_callcodecallcodecall_110_SuicideMiddle.json OK -+ static_callcodecallcodecall_110_SuicideMiddle2.json OK -+ static_callcodecallcodecall_ABCB_RECURSIVE.json OK -+ static_callcodecallcodecall_ABCB_RECURSIVE2.json OK -+ static_callcodecallcodecallcode_111_SuicideEnd.json OK -+ static_calldelcode_01.json OK -+ static_calldelcode_01_OOGE.json OK -+ static_contractCreationMakeCallThatAskMoreGasThenTransactionPro OK -+ static_contractCreationOOGdontLeaveEmptyContractViaTransaction. OK -+ static_log0_emptyMem.json OK -+ static_log0_logMemStartTooHigh.json OK -+ static_log0_logMemsizeTooHigh.json OK -+ static_log0_logMemsizeZero.json OK -+ static_log0_nonEmptyMem.json OK -+ static_log0_nonEmptyMem_logMemSize1.json OK -+ static_log0_nonEmptyMem_logMemSize1_logMemStart31.json OK -+ static_log1_MaxTopic.json OK -+ static_log1_emptyMem.json OK -+ static_log1_logMemStartTooHigh.json OK -+ static_log1_logMemsizeTooHigh.json OK -+ static_log1_logMemsizeZero.json OK -+ static_log_Caller.json OK -+ static_makeMoney.json OK -+ static_refund_CallA.json OK -+ static_refund_CallToSuicideNoStorage.json OK -+ static_refund_CallToSuicideTwice.json OK + static_Call50000bytesContract50_1.json Skip + static_Call50000bytesContract50_2.json Skip + static_Call50000bytesContract50_3.json Skip + static_CallAndCallcodeConsumeMoreGasThenTransactionHas.json Skip + static_CallAskMoreGasOnDepth2ThenTransactionHas.json Skip + static_CallContractToCreateContractAndCallItOOG.json Skip + static_CallContractToCreateContractOOG.json Skip + static_CallContractToCreateContractOOGBonusGas.json Skip + static_CallContractToCreateContractWhichWouldCreateContractIfCa Skip + static_CallEcrecover0.json Skip + static_CallEcrecover0_0input.json Skip + static_CallEcrecover0_Gas2999.json Skip + static_CallEcrecover0_NoGas.json Skip + static_CallEcrecover0_completeReturnValue.json Skip + static_CallEcrecover0_gas3000.json Skip + static_CallEcrecover0_overlappingInputOutput.json Skip + static_CallEcrecover1.json Skip + static_CallEcrecover2.json Skip + static_CallEcrecover3.json Skip + static_CallEcrecover80.json Skip + static_CallEcrecoverCheckLength.json Skip + static_CallEcrecoverCheckLengthWrongV.json Skip + static_CallEcrecoverH_prefixed0.json Skip + static_CallEcrecoverR_prefixed0.json Skip + static_CallEcrecoverS_prefixed0.json Skip + static_CallEcrecoverV_prefixed0.json Skip + static_CallGoesOOGOnSecondLevel.json Skip + static_CallGoesOOGOnSecondLevel2.json Skip + static_CallIdentitiy_1.json Skip + static_CallIdentity_1_nonzeroValue.json Skip + static_CallIdentity_2.json Skip + static_CallIdentity_3.json Skip + static_CallIdentity_4.json Skip + static_CallIdentity_4_gas17.json Skip + static_CallIdentity_4_gas18.json Skip + static_CallIdentity_5.json Skip + static_CallLoseGasOOG.json Skip + static_CallRecursiveBomb0.json Skip + static_CallRecursiveBomb0_OOG_atMaxCallDepth.json Skip + static_CallRecursiveBomb1.json Skip + static_CallRecursiveBomb2.json Skip + static_CallRecursiveBomb3.json Skip + static_CallRecursiveBombLog.json Skip + static_CallRecursiveBombLog2.json Skip + static_CallRecursiveBombPreCall.json Skip + static_CallRecursiveBombPreCall2.json Skip + static_CallRipemd160_1.json Skip + static_CallRipemd160_2.json Skip + static_CallRipemd160_3.json Skip + static_CallRipemd160_3_postfixed0.json Skip + static_CallRipemd160_3_prefixed0.json Skip + static_CallRipemd160_4.json Skip + static_CallRipemd160_4_gas719.json Skip + static_CallRipemd160_5.json Skip + static_CallSha256_1.json Skip + static_CallSha256_1_nonzeroValue.json Skip + static_CallSha256_2.json Skip + static_CallSha256_3.json Skip + static_CallSha256_3_postfix0.json Skip + static_CallSha256_3_prefix0.json Skip + static_CallSha256_4.json Skip + static_CallSha256_4_gas99.json Skip + static_CallSha256_5.json Skip + static_CallToNameRegistrator0.json Skip + static_CallToReturn1.json Skip + static_CalltoReturn2.json Skip + static_CheckCallCostOOG.json Skip + static_CheckOpcodes.json Skip + static_CheckOpcodes2.json Skip + static_CheckOpcodes3.json Skip + static_CheckOpcodes4.json Skip + static_CheckOpcodes5.json Skip + static_ExecuteCallThatAskForeGasThenTrabsactionHas.json Skip + static_InternalCallHittingGasLimit.json Skip + static_InternalCallHittingGasLimit2.json Skip + static_InternlCallStoreClearsOOG.json Skip + static_LoopCallsDepthThenRevert.json Skip + static_LoopCallsDepthThenRevert2.json Skip + static_LoopCallsDepthThenRevert3.json Skip + static_LoopCallsThenRevert.json Skip + static_PostToReturn1.json Skip + static_RETURN_Bounds.json Skip + static_RETURN_BoundsOOG.json Skip + static_RawCallGasAsk.json Skip + static_Return50000_2.json Skip + static_ReturnTest.json Skip + static_ReturnTest2.json Skip + static_RevertDepth2.json Skip + static_RevertOpcodeCalls.json Skip + static_ZeroValue_CALL_OOGRevert.json Skip + static_ZeroValue_SUICIDE_OOGRevert.json Skip + static_callBasic.json Skip + static_callChangeRevert.json Skip + static_callCreate.json Skip + static_callCreate2.json Skip + static_callCreate3.json Skip + static_callOutput1.json Skip + static_callOutput2.json Skip + static_callOutput3.json Skip + static_callOutput3Fail.json Skip + static_callOutput3partial.json Skip + static_callOutput3partialFail.json Skip + static_callToCallCodeOpCodeCheck.json Skip + static_callToCallOpCodeCheck.json Skip + static_callToDelCallOpCodeCheck.json Skip + static_callToStaticOpCodeCheck.json Skip + static_callWithHighValue.json Skip + static_callWithHighValueAndGasOOG.json Skip + static_callWithHighValueAndOOGatTxLevel.json Skip + static_callWithHighValueOOGinCall.json Skip + static_call_OOG_additionalGasCosts1.json Skip + static_call_OOG_additionalGasCosts2.json Skip + static_call_value_inherit.json Skip + static_call_value_inherit_from_call.json Skip + static_callcall_00.json Skip + static_callcall_00_OOGE.json Skip + static_callcall_00_OOGE_1.json Skip + static_callcall_00_OOGE_2.json Skip + static_callcall_00_SuicideEnd.json Skip + static_callcallcall_000.json Skip + static_callcallcall_000_OOGE.json Skip + static_callcallcall_000_OOGMAfter.json Skip + static_callcallcall_000_OOGMAfter2.json Skip + static_callcallcall_000_OOGMBefore.json Skip + static_callcallcall_000_SuicideEnd.json Skip + static_callcallcall_000_SuicideMiddle.json Skip + static_callcallcall_ABCB_RECURSIVE.json Skip + static_callcallcallcode_001.json Skip + static_callcallcallcode_001_2.json Skip + static_callcallcallcode_001_OOGE.json Skip + static_callcallcallcode_001_OOGE_2.json Skip + static_callcallcallcode_001_OOGMAfter.json Skip + static_callcallcallcode_001_OOGMAfter2.json Skip + static_callcallcallcode_001_OOGMAfter_2.json Skip + static_callcallcallcode_001_OOGMAfter_3.json Skip + static_callcallcallcode_001_OOGMBefore.json Skip + static_callcallcallcode_001_OOGMBefore2.json Skip + static_callcallcallcode_001_SuicideEnd.json Skip + static_callcallcallcode_001_SuicideEnd2.json Skip + static_callcallcallcode_001_SuicideMiddle.json Skip + static_callcallcallcode_001_SuicideMiddle2.json Skip + static_callcallcallcode_ABCB_RECURSIVE.json Skip + static_callcallcallcode_ABCB_RECURSIVE2.json Skip + static_callcallcode_01_2.json Skip + static_callcallcode_01_OOGE_2.json Skip + static_callcallcode_01_SuicideEnd.json Skip + static_callcallcode_01_SuicideEnd2.json Skip + static_callcallcodecall_010.json Skip + static_callcallcodecall_010_2.json Skip + static_callcallcodecall_010_OOGE.json Skip + static_callcallcodecall_010_OOGE_2.json Skip + static_callcallcodecall_010_OOGMAfter.json Skip + static_callcallcodecall_010_OOGMAfter2.json Skip + static_callcallcodecall_010_OOGMAfter_2.json Skip + static_callcallcodecall_010_OOGMAfter_3.json Skip + static_callcallcodecall_010_OOGMBefore.json Skip + static_callcallcodecall_010_OOGMBefore2.json Skip + static_callcallcodecall_010_SuicideEnd.json Skip + static_callcallcodecall_010_SuicideEnd2.json Skip + static_callcallcodecall_010_SuicideMiddle.json Skip + static_callcallcodecall_010_SuicideMiddle2.json Skip + static_callcallcodecall_ABCB_RECURSIVE.json Skip + static_callcallcodecall_ABCB_RECURSIVE2.json Skip + static_callcallcodecallcode_011.json Skip + static_callcallcodecallcode_011_2.json Skip + static_callcallcodecallcode_011_OOGE.json Skip + static_callcallcodecallcode_011_OOGE_2.json Skip + static_callcallcodecallcode_011_OOGMAfter.json Skip + static_callcallcodecallcode_011_OOGMAfter2.json Skip + static_callcallcodecallcode_011_OOGMAfter_1.json Skip + static_callcallcodecallcode_011_OOGMAfter_2.json Skip + static_callcallcodecallcode_011_OOGMBefore.json Skip + static_callcallcodecallcode_011_OOGMBefore2.json Skip + static_callcallcodecallcode_011_SuicideEnd.json Skip + static_callcallcodecallcode_011_SuicideEnd2.json Skip + static_callcallcodecallcode_011_SuicideMiddle.json Skip + static_callcallcodecallcode_011_SuicideMiddle2.json Skip + static_callcallcodecallcode_ABCB_RECURSIVE.json Skip + static_callcallcodecallcode_ABCB_RECURSIVE2.json Skip + static_callcode_checkPC.json Skip + static_callcodecall_10.json Skip + static_callcodecall_10_2.json Skip + static_callcodecall_10_OOGE.json Skip + static_callcodecall_10_OOGE_2.json Skip + static_callcodecall_10_SuicideEnd.json Skip + static_callcodecall_10_SuicideEnd2.json Skip + static_callcodecallcall_100.json Skip + static_callcodecallcall_100_2.json Skip + static_callcodecallcall_100_OOGE.json Skip + static_callcodecallcall_100_OOGE2.json Skip + static_callcodecallcall_100_OOGMAfter.json Skip + static_callcodecallcall_100_OOGMAfter2.json Skip + static_callcodecallcall_100_OOGMAfter_2.json Skip + static_callcodecallcall_100_OOGMAfter_3.json Skip + static_callcodecallcall_100_OOGMBefore.json Skip + static_callcodecallcall_100_OOGMBefore2.json Skip + static_callcodecallcall_100_SuicideEnd.json Skip + static_callcodecallcall_100_SuicideEnd2.json Skip + static_callcodecallcall_100_SuicideMiddle.json Skip + static_callcodecallcall_100_SuicideMiddle2.json Skip + static_callcodecallcall_ABCB_RECURSIVE.json Skip + static_callcodecallcall_ABCB_RECURSIVE2.json Skip + static_callcodecallcallcode_101.json Skip + static_callcodecallcallcode_101_2.json Skip + static_callcodecallcallcode_101_OOGE.json Skip + static_callcodecallcallcode_101_OOGE_2.json Skip + static_callcodecallcallcode_101_OOGMAfter.json Skip + static_callcodecallcallcode_101_OOGMAfter2.json Skip + static_callcodecallcallcode_101_OOGMAfter_1.json Skip + static_callcodecallcallcode_101_OOGMAfter_3.json Skip + static_callcodecallcallcode_101_OOGMBefore.json Skip + static_callcodecallcallcode_101_OOGMBefore2.json Skip + static_callcodecallcallcode_101_SuicideEnd.json Skip + static_callcodecallcallcode_101_SuicideEnd2.json Skip + static_callcodecallcallcode_101_SuicideMiddle.json Skip + static_callcodecallcallcode_101_SuicideMiddle2.json Skip + static_callcodecallcallcode_ABCB_RECURSIVE.json Skip + static_callcodecallcallcode_ABCB_RECURSIVE2.json Skip + static_callcodecallcodecall_110.json Skip + static_callcodecallcodecall_1102.json Skip + static_callcodecallcodecall_110_2.json Skip + static_callcodecallcodecall_110_OOGE.json Skip + static_callcodecallcodecall_110_OOGE2.json Skip + static_callcodecallcodecall_110_OOGMAfter.json Skip + static_callcodecallcodecall_110_OOGMAfter2.json Skip + static_callcodecallcodecall_110_OOGMAfter_2.json Skip + static_callcodecallcodecall_110_OOGMAfter_3.json Skip + static_callcodecallcodecall_110_OOGMBefore.json Skip + static_callcodecallcodecall_110_OOGMBefore2.json Skip + static_callcodecallcodecall_110_SuicideEnd.json Skip + static_callcodecallcodecall_110_SuicideEnd2.json Skip + static_callcodecallcodecall_110_SuicideMiddle.json Skip + static_callcodecallcodecall_110_SuicideMiddle2.json Skip + static_callcodecallcodecall_ABCB_RECURSIVE.json Skip + static_callcodecallcodecall_ABCB_RECURSIVE2.json Skip + static_callcodecallcodecallcode_111_SuicideEnd.json Skip + static_calldelcode_01.json Skip + static_calldelcode_01_OOGE.json Skip + static_contractCreationMakeCallThatAskMoreGasThenTransactionPro Skip + static_contractCreationOOGdontLeaveEmptyContractViaTransaction. Skip + static_log0_emptyMem.json Skip + static_log0_logMemStartTooHigh.json Skip + static_log0_logMemsizeTooHigh.json Skip + static_log0_logMemsizeZero.json Skip + static_log0_nonEmptyMem.json Skip + static_log0_nonEmptyMem_logMemSize1.json Skip + static_log0_nonEmptyMem_logMemSize1_logMemStart31.json Skip + static_log1_MaxTopic.json Skip + static_log1_emptyMem.json Skip + static_log1_logMemStartTooHigh.json Skip + static_log1_logMemsizeTooHigh.json Skip + static_log1_logMemsizeZero.json Skip + static_log_Caller.json Skip + static_makeMoney.json Skip + static_refund_CallA.json Skip + static_refund_CallToSuicideNoStorage.json Skip + static_refund_CallToSuicideTwice.json Skip ``` -OK: 271/283 Fail: 0/283 Skip: 12/283 +OK: 0/283 Fail: 0/283 Skip: 283/283 +## stSubroutine +```diff ++ beginSubAtEndOfCode.json OK ++ shouldErrorWhenExecuteBeginSub.json OK ++ shouldErrorWhenJumpToJumpDest.json OK ++ shouldErrorWhenReturnStackGrowsAbove1023.json OK ++ shouldErrorWhenSubroutineEnteredViaBeginSub.json OK + shouldSucceedWhenReturnStackGrowsUntil1023.json Skip ++ simpleSubroutine.json OK ++ subroutineAtEndOfCode.json OK ++ subroutineInvalidJump.json OK ++ subroutineShallowReturnStack.json OK ++ twoLevelsSubroutines.json OK +``` +OK: 10/11 Fail: 0/11 Skip: 1/11 ## stSystemOperationsTest ```diff + ABAcalls0.json OK @@ -3538,26 +3553,26 @@ OK: 144/144 Fail: 0/144 Skip: 0/144 OK: 46/46 Fail: 0/46 Skip: 0/46 ## vmPerformance ```diff -+ ackermann31.json OK -+ ackermann32.json OK -+ ackermann33.json OK -+ fibonacci10.json OK -+ fibonacci16.json OK -+ loop-add-10M.json OK -+ loop-divadd-10M.json OK -+ loop-divadd-unr100-10M.json OK -+ loop-exp-16b-100k.json OK -+ loop-exp-1b-1M.json OK -+ loop-exp-2b-100k.json OK -+ loop-exp-32b-100k.json OK -+ loop-exp-4b-100k.json OK -+ loop-exp-8b-100k.json OK -+ loop-exp-nop-1M.json OK -+ loop-mul.json OK -+ loop-mulmod-2M.json OK -+ manyFunctions100.json OK + ackermann31.json Skip + ackermann32.json Skip + ackermann33.json Skip + fibonacci10.json Skip + fibonacci16.json Skip + loop-add-10M.json Skip + loop-divadd-10M.json Skip + loop-divadd-unr100-10M.json Skip + loop-exp-16b-100k.json Skip + loop-exp-1b-1M.json Skip + loop-exp-2b-100k.json Skip + loop-exp-32b-100k.json Skip + loop-exp-4b-100k.json Skip + loop-exp-8b-100k.json Skip + loop-exp-nop-1M.json Skip + loop-mul.json Skip + loop-mulmod-2M.json Skip + manyFunctions100.json Skip ``` -OK: 18/18 Fail: 0/18 Skip: 0/18 +OK: 0/18 Fail: 0/18 Skip: 18/18 ## vmPushDupSwapTest ```diff + dup1.json OK @@ -3686,4 +3701,4 @@ OK: 7/7 Fail: 0/7 Skip: 0/7 OK: 1/1 Fail: 0/1 Skip: 0/1 ---TOTAL--- -OK: 3235/3340 Fail: 0/3340 Skip: 105/3340 +OK: 2956/3351 Fail: 0/3351 Skip: 395/3351 diff --git a/newGeneralStateTests.md b/newGeneralStateTests.md index a897e8ca6..e09cd23b3 100644 --- a/newGeneralStateTests.md +++ b/newGeneralStateTests.md @@ -2135,6 +2135,21 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 + static_refund_CallToSuicideTwice.json OK ``` OK: 271/283 Fail: 0/283 Skip: 12/283 +## stSubroutine +```diff ++ beginSubAtEndOfCode.json OK ++ shouldErrorWhenExecuteBeginSub.json OK ++ shouldErrorWhenJumpToJumpDest.json OK ++ shouldErrorWhenReturnStackGrowsAbove1023.json OK ++ shouldErrorWhenSubroutineEnteredViaBeginSub.json OK + shouldSucceedWhenReturnStackGrowsUntil1023.json Skip ++ simpleSubroutine.json OK ++ subroutineAtEndOfCode.json OK ++ subroutineInvalidJump.json OK ++ subroutineShallowReturnStack.json OK ++ twoLevelsSubroutines.json OK +``` +OK: 10/11 Fail: 0/11 Skip: 1/11 ## stSystemOperationsTest ```diff + ABAcalls0.json OK @@ -2626,4 +2641,4 @@ OK: 133/133 Fail: 0/133 Skip: 0/133 OK: 130/130 Fail: 0/130 Skip: 0/130 ---TOTAL--- -OK: 2307/2412 Fail: 0/2412 Skip: 105/2412 +OK: 2317/2423 Fail: 0/2423 Skip: 106/2423 diff --git a/tests/fixtures/eth_tests b/tests/fixtures/eth_tests index ac8cf2cd8..16fa56768 160000 --- a/tests/fixtures/eth_tests +++ b/tests/fixtures/eth_tests @@ -1 +1 @@ -Subproject commit ac8cf2cd8ba326d67101183060272e7f7b1eaa92 +Subproject commit 16fa567686a8cea578a500b0095c4d7f9f3bbe63 diff --git a/tests/test_allowed_to_fail.nim b/tests/test_allowed_to_fail.nim index 0d1158ab2..8d526cb72 100644 --- a/tests/test_allowed_to_fail.nim +++ b/tests/test_allowed_to_fail.nim @@ -88,13 +88,6 @@ func slowGSTTests(folder: string, name: string): bool = # Istanbul slow tests "CALLBlake2f_MaxRounds.json", - # Berlin slow tests, - "static_LoopCallsDepthThenRevert.json", - "static_LoopCallsDepthThenRevert2.json", - "static_LoopCallsDepthThenRevert3.json", - "static_log_Caller.json", - "static_log1_MaxTopic.json", - "static_log1_logMemStartTooHigh.json" ] func skipGSTTests*(folder: string, name: string): bool = @@ -102,10 +95,10 @@ func skipGSTTests*(folder: string, name: string): bool = if slowGSTTests(folder, name): return true - # bugs related to ethereum/tests/b1248cd40809d219197ff01eb547170bfaaf1bf1 name in @[ + # bugs related to ethereum/tests/b1248cd40809d219197ff01eb547170bfaaf1bf1 "RevertPrecompiledTouch.json", - "RevertPrecompiledTouch_storage.json" + "RevertPrecompiledTouch_storage.json", ] func skipNewGSTTests*(folder: string, name: string): bool = @@ -113,6 +106,11 @@ func skipNewGSTTests*(folder: string, name: string): bool = if skipGSTTests(folder, name): return true + name in @[ + # a bug in ethereum test that later fixed, skip for now + "shouldSucceedWhenReturnStackGrowsUntil1023.json" + ] + func skipVMTests*(folder: string, name: string): bool = result = (folder == "vmPerformance" and "loop" in name) @@ -129,7 +127,7 @@ func skipBCTests*(folder: string, name: string): bool = "RevertPrecompiledTouch_d0g0v0.json", "RevertPrecompiledTouch_d3g0v0.json", "RevertPrecompiledTouch_storage_d0g0v0.json", - "RevertPrecompiledTouch_storage_d3g0v0.json" + "RevertPrecompiledTouch_storage_d3g0v0.json", ] func skipNewBCTests*(folder: string, name: string): bool = @@ -146,7 +144,8 @@ func skipNewBCTests*(folder: string, name: string): bool = "randomStatetest94.json", "DelegateCallSpam.json", - "InternalCallHittingGasLimit.json" + # a bug in ethereum test that later fixed, skip for now + "shouldSucceedWhenReturnStackGrowsUntil1023.json" ] func skipPrecompilesTests*(folder: string, name: string): bool = diff --git a/tests/test_blockchain_json.nim b/tests/test_blockchain_json.nim index 62f3e9e2a..ba8ecd2f6 100644 --- a/tests/test_blockchain_json.nim +++ b/tests/test_blockchain_json.nim @@ -764,8 +764,8 @@ proc blockchainJsonMain*(debugMode = false) = if paramCount() == 0 or not debugMode: # run all test fixtures - #suite "block chain json tests": - #jsonTest(legacyFolder, "BlockchainTests", testFixture, skipBCTests) + suite "block chain json tests": + jsonTest(legacyFolder, "BlockchainTests", testFixture, skipBCTests) suite "new block chain json tests": jsonTest(newFolder, "newBlockchainTests", testFixture, skipNewBCTests) else: diff --git a/tests/test_precompiles.nim b/tests/test_precompiles.nim index 42c6cba80..e1f7a155c 100644 --- a/tests/test_precompiles.nim +++ b/tests/test_precompiles.nim @@ -93,7 +93,7 @@ proc testFixture(fixtures: JsonNode, testStatusIMPL: var TestStatus) = proc precompilesMain*() = suite "Precompiles": - jsonTest("PrecompileTests", testFixture) + jsonTest("PrecompileTests", testFixture, skipPrecompilesTests) when isMainModule: precompilesMain() diff --git a/witnessBuilderBC.md b/witnessBuilderBC.md index d14ae4be7..a1875bcf0 100644 --- a/witnessBuilderBC.md +++ b/witnessBuilderBC.md @@ -2538,6 +2538,21 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 + static_refund_CallToSuicideTwice.json OK ``` OK: 283/283 Fail: 0/283 Skip: 0/283 +## stSubroutine +```diff ++ beginSubAtEndOfCode.json OK ++ shouldErrorWhenExecuteBeginSub.json OK ++ shouldErrorWhenJumpToJumpDest.json OK ++ shouldErrorWhenReturnStackGrowsAbove1023.json OK ++ shouldErrorWhenSubroutineEnteredViaBeginSub.json OK ++ shouldSucceedWhenReturnStackGrowsUntil1023.json OK ++ simpleSubroutine.json OK ++ subroutineAtEndOfCode.json OK ++ subroutineInvalidJump.json OK ++ subroutineShallowReturnStack.json OK ++ twoLevelsSubroutines.json OK +``` +OK: 11/11 Fail: 0/11 Skip: 0/11 ## stSystemOperationsTest ```diff + ABAcalls0.json OK @@ -3686,4 +3701,4 @@ OK: 7/7 Fail: 0/7 Skip: 0/7 OK: 1/1 Fail: 0/1 Skip: 0/1 ---TOTAL--- -OK: 3340/3340 Fail: 0/3340 Skip: 0/3340 +OK: 3351/3351 Fail: 0/3351 Skip: 0/3351 diff --git a/witnessBuilderGST.md b/witnessBuilderGST.md index 3ea1bf33e..194083f13 100644 --- a/witnessBuilderGST.md +++ b/witnessBuilderGST.md @@ -2135,6 +2135,21 @@ OK: 9/9 Fail: 0/9 Skip: 0/9 + static_refund_CallToSuicideTwice.json OK ``` OK: 283/283 Fail: 0/283 Skip: 0/283 +## stSubroutine +```diff ++ beginSubAtEndOfCode.json OK ++ shouldErrorWhenExecuteBeginSub.json OK ++ shouldErrorWhenJumpToJumpDest.json OK ++ shouldErrorWhenReturnStackGrowsAbove1023.json OK ++ shouldErrorWhenSubroutineEnteredViaBeginSub.json OK ++ shouldSucceedWhenReturnStackGrowsUntil1023.json OK ++ simpleSubroutine.json OK ++ subroutineAtEndOfCode.json OK ++ subroutineInvalidJump.json OK ++ subroutineShallowReturnStack.json OK ++ twoLevelsSubroutines.json OK +``` +OK: 11/11 Fail: 0/11 Skip: 0/11 ## stSystemOperationsTest ```diff + ABAcalls0.json OK @@ -2626,4 +2641,4 @@ OK: 133/133 Fail: 0/133 Skip: 0/133 OK: 130/130 Fail: 0/130 Skip: 0/130 ---TOTAL--- -OK: 2412/2412 Fail: 0/2412 Skip: 0/2412 +OK: 2423/2423 Fail: 0/2423 Skip: 0/2423