From 2b0106821850896a6db3d24f89aa4d2b925f3aa7 Mon Sep 17 00:00:00 2001 From: Noel Maersk Date: Wed, 12 Dec 2018 01:52:04 +0200 Subject: [PATCH] tests: add more tests to INCORRECT_UPSTREAM_TESTS. One is existing `RevertInCreateInInit`, but now for Constantinople, not just Byzantium. The other is `RevertInCreateInInitCreate2`, which contains the same "synthhetic" state which can't be arrived at by regular means in the EVM. It's likely a copy-paste atavism. The rest are variants testing specifically for what happens on collisions with a state like above. It has already been estabilished that there are two schools of thought: one with `geth` and `aleth` (and `testeth` that generates the tests); the other with `py-evm` and `parity`. --- tests/json-fixtures/test_blockchain.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/json-fixtures/test_blockchain.py b/tests/json-fixtures/test_blockchain.py index be232fd2f9..3b6cbec619 100644 --- a/tests/json-fixtures/test_blockchain.py +++ b/tests/json-fixtures/test_blockchain.py @@ -125,6 +125,18 @@ # The result is in conflict with the yellow-paper: # * https://github.com/ethereum/py-evm/pull/1224#issuecomment-418800369 ('GeneralStateTests/stRevertTest/RevertInCreateInInit_d0g0v0.json', 'RevertInCreateInInit_d0g0v0_Byzantium'), # noqa: E501 + ('GeneralStateTests/stRevertTest/RevertInCreateInInit_d0g0v0.json', 'RevertInCreateInInit_d0g0v0_Constantinople'), # noqa: E501 + # The CREATE2 variant seems to have been derived from the one above - it, too, + # has a "synthetic" state, on which py-evm flips. + # * https://github.com/ethereum/py-evm/pull/1181#issuecomment-446330609 + ('GeneralStateTests/stCreate2/RevertInCreateInInitCreate2_d0g0v0.json', 'RevertInCreateInInitCreate2_d0g0v0_Constantinople'), # noqa: E501 + # All four variants have been specifically added to test a collision type + # like the above; therefore, they fail in the same manner. + # * https://github.com/ethereum/py-evm/pull/1579#issuecomment-446591118 + ('GeneralStateTests/stSStoreTest/InitCollision_d0g0v0.json', 'InitCollision_d0g0v0_Constantinople'), # noqa: E501 + ('GeneralStateTests/stSStoreTest/InitCollision_d1g0v0.json', 'InitCollision_d1g0v0_Constantinople'), # noqa: E501 + ('GeneralStateTests/stSStoreTest/InitCollision_d2g0v0.json', 'InitCollision_d2g0v0_Constantinople'), # noqa: E501 + ('GeneralStateTests/stSStoreTest/InitCollision_d3g0v0.json', 'InitCollision_d3g0v0_Constantinople'), # noqa: E501 }