From e52ac0d0b653f46063c1c6a00dce7abda24c60f7 Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Fri, 23 Jun 2017 14:03:10 +0200 Subject: Add a test for trying returndatacopy 0 0 on an empty return data buffer --- .../returndatasize_initial_zero_read.json | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json (limited to 'GeneralStateTests') diff --git a/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json b/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json new file mode 100644 index 000000000..418c2c968 --- /dev/null +++ b/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json @@ -0,0 +1,88 @@ +{ + "returndatasize_initial_zero_readFiller" : { + "_info" : { + "comment" : "", + "filledwith" : "cpp-1.3.0+commit.6b687ff2.Linux.g++", + "source" : "/src/GeneralStateTestsFiller/stReturnDataTest/returndatasize_initial_zero_readFiller.json" + }, + "env" : { + "currentCoinbase" : "0x2adc25665018aa1fe0e6bc666dac8fc2697ff9ba", + "currentDifficulty" : "0x20000", + "currentGasLimit" : "0x0a00000000", + "currentNumber" : "0x01", + "currentTimestamp" : "0x03e8", + "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" + }, + "expect" : [ + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "EIP150", + "EIP158", + "Frontier", + "Homestead" + ], + "result" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "storage" : { + "0x00" : "0x01" + } + } + } + }, + { + "indexes" : { + "data" : -1, + "gas" : -1, + "value" : -1 + }, + "network" : [ + "Metropolis" + ], + "result" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "storage" : { + "0x00" : "0x00" + } + } + } + } + ], + "pre" : { + "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { + "balance" : "0x0de0b6b3a7640000", + "code" : "{ (RETURNDATACOPY 0 0) (SSTORE 0 (MLOAD 0)) }", + "nonce" : "0x00", + "storage" : { + "0x00" : "0x01" + } + }, + "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b" : { + "balance" : "0x6400000000", + "code" : "", + "nonce" : "0x00", + "storage" : { + } + } + }, + "transaction" : { + "data" : [ + "" + ], + "gasLimit" : [ + "0x0a00000000" + ], + "gasPrice" : "0x01", + "nonce" : "0x00", + "secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8", + "to" : "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6", + "value" : [ + "0x00" + ] + } + } +} \ No newline at end of file -- cgit v1.2.3 From 3b3ad3a2afb902e0c17644a261ed551089f72530 Mon Sep 17 00:00:00 2001 From: Yoichi Hirai Date: Tue, 27 Jun 2017 13:58:16 +0200 Subject: Also try RETURNDATACOPY when the calldata is not empty --- .../returndatasize_initial_zero_read.json | 128 +++++++++++++++------ 1 file changed, 91 insertions(+), 37 deletions(-) (limited to 'GeneralStateTests') diff --git a/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json b/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json index 418c2c968..9de845aa2 100644 --- a/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json +++ b/GeneralStateTests/stReturnDataTest/returndatasize_initial_zero_read.json @@ -1,8 +1,8 @@ { - "returndatasize_initial_zero_readFiller" : { + "returndatasize_initial_zero_read" : { "_info" : { "comment" : "", - "filledwith" : "cpp-1.3.0+commit.6b687ff2.Linux.g++", + "filledwith" : "cpp-1.3.0+commit.e2c2a0a2.Linux.g++", "source" : "/src/GeneralStateTestsFiller/stReturnDataTest/returndatasize_initial_zero_readFiller.json" }, "env" : { @@ -13,49 +13,102 @@ "currentTimestamp" : "0x03e8", "previousHash" : "0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6" }, - "expect" : [ - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + "post" : { + "EIP150" : [ + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } }, - "network" : [ - "EIP150", - "EIP158", - "Frontier", - "Homestead" - ], - "result" : { - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "storage" : { - "0x00" : "0x01" - } + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 } } - }, - { - "indexes" : { - "data" : -1, - "gas" : -1, - "value" : -1 + ], + "EIP158" : [ + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } }, - "network" : [ - "Metropolis" - ], - "result" : { - "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { - "storage" : { - "0x00" : "0x00" - } + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 } } - } - ], + ], + "Frontier" : [ + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + }, + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + } + } + ], + "Homestead" : [ + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + }, + { + "hash" : "0xbb66ee499faa364b1100465e80b935afb15c9481b5f32ce908e101cd028341f9", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + } + } + ], + "Metropolis" : [ + { + "hash" : "0xd754a4f9fbc3b2bb742f7c114b9d72c205df6106b1cb35bd9a21e242b1c504d7", + "indexes" : { + "data" : 0, + "gas" : 0, + "value" : 0 + } + }, + { + "hash" : "0xe40f3494b9b09f0f6df817a497e93a890f7aed50a18e6fe1e17d3655a9ec1160", + "indexes" : { + "data" : 1, + "gas" : 0, + "value" : 0 + } + } + ] + }, "pre" : { "0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : { "balance" : "0x0de0b6b3a7640000", - "code" : "{ (RETURNDATACOPY 0 0) (SSTORE 0 (MLOAD 0)) }", + "code" : "0x6000600060003e600051600055", "nonce" : "0x00", "storage" : { "0x00" : "0x01" @@ -71,7 +124,8 @@ }, "transaction" : { "data" : [ - "" + "", + "0x992919aa" ], "gasLimit" : [ "0x0a00000000" -- cgit v1.2.3