Skip to content

Commit bdfba46

Browse files
committed
fixtures: update to 61185fe4b8762118fe9ee318539683b47cb04ed6 + mark RevertInCreateInInit as xfail.
Rolls forwards up to 2018-03-01. Break in `RevertInCreateInInit.json` determined by `git bisect run`. The test is marked `xfail` to expicitly highlight the fact. This is done in 3 places - all are run as part of CI.
1 parent 7752f05 commit bdfba46

File tree

4 files changed

+40
-2
lines changed

4 files changed

+40
-2
lines changed

fixtures

Submodule fixtures updated 13999 files

tests/json-fixtures/test_blockchain.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,33 @@
3232
BASE_FIXTURE_PATH = os.path.join(ROOT_PROJECT_DIR, 'fixtures', 'BlockchainTests')
3333

3434

35+
# These are tests that are thought to be incorrect or buggy upstream,
36+
# at the commit currently checked out in submodule `fixtures`.
37+
# Ideally, this list should be empty.
38+
# WHEN ADDING ENTRIES, ALWAYS PROVIDE AN EXPLANATION!
39+
INCORRECT_UPSTREAM_TESTS = {
40+
# The test considers a "synthetic" scenario (the state described there can't
41+
# be arrived at using regular consensus rules).
42+
# * https://github.com/ethereum/py-evm/pull/1224#issuecomment-418775512
43+
# The result is in conflict with the yellow-paper:
44+
# * https://github.com/ethereum/py-evm/pull/1224#issuecomment-418800369
45+
('GeneralStateTests/stRevertTest/RevertInCreateInInit_d0g0v0.json', 'RevertInCreateInInit_d0g0v0_Byzantium'), # noqa: E501
46+
}
47+
48+
3549
def blockchain_fixture_mark_fn(fixture_path, fixture_name):
3650
if fixture_path.startswith('bcExploitTest'):
3751
return pytest.mark.skip("Exploit tests are slow")
3852
elif fixture_path == 'bcWalletTest/walletReorganizeOwners.json':
3953
return pytest.mark.skip("Wallet owner reorganization tests are slow")
54+
elif (fixture_path, fixture_name) in INCORRECT_UPSTREAM_TESTS:
55+
return pytest.mark.xfail(reason="Listed in INCORRECT_UPSTREAM_TESTS.")
4056

4157

4258
def blockchain_fixture_ignore_fn(fixture_path, fixture_name):
4359
if fixture_path.startswith('GeneralStateTests'):
4460
# General state tests are also exported as blockchain tests. We
45-
# skip them here so we don't run them twice"
61+
# skip them here so we don't run them twice
4662
return True
4763

4864

tests/json-fixtures/test_state.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ def expand_fixtures_forks(all_fixtures):
138138
# Ideally, this list should be empty.
139139
# WHEN ADDING ENTRIES, ALWAYS PROVIDE AN EXPLANATION!
140140
INCORRECT_UPSTREAM_TESTS = {
141+
# The test considers a "synthetic" scenario (the state described there can't
142+
# be arrived at using regular consensus rules).
143+
# * https://github.com/ethereum/py-evm/pull/1224#issuecomment-418775512
144+
# The result is in conflict with the yellow-paper:
145+
# * https://github.com/ethereum/py-evm/pull/1224#issuecomment-418800369
146+
('stRevertTest/RevertInCreateInInit.json', 'RevertInCreateInInit', 'Byzantium', 0),
141147
}
142148

143149

tests/trinity/json-fixtures-over-rpc/test_rpc_fixtures.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,20 @@
9292
'DelegateCallSpam_EIP150',
9393
)
9494

95+
# These are tests that are thought to be incorrect or buggy upstream,
96+
# at the commit currently checked out in submodule `fixtures`.
97+
# Ideally, this list should be empty.
98+
# WHEN ADDING ENTRIES, ALWAYS PROVIDE AN EXPLANATION!
99+
INCORRECT_UPSTREAM_TESTS = {
100+
# The test considers a "synthetic" scenario (the state described there can't
101+
# be arrived at using regular consensus rules).
102+
# * https://github.com/ethereum/py-evm/pull/1224#issuecomment-418775512
103+
# The result is in conflict with the yellow-paper:
104+
# * https://github.com/ethereum/py-evm/pull/1224#issuecomment-418800369
105+
('GeneralStateTests/stRevertTest/RevertInCreateInInit_d0g0v0.json', 'RevertInCreateInInit_d0g0v0_Byzantium-Chain'), # noqa: E501
106+
('GeneralStateTests/stRevertTest/RevertInCreateInInit_d0g0v0.json', 'RevertInCreateInInit_d0g0v0_Byzantium-MiningChain'), # noqa: E501
107+
}
108+
95109
RPC_STATE_NORMALIZERS = {
96110
'balance': remove_leading_zeros,
97111
'code': empty_to_0x,
@@ -162,6 +176,8 @@ def blockchain_fixture_mark_fn(fixture_path, fixture_name):
162176
if not should_run_slow_tests():
163177
return pytest.mark.skip("skipping slow test on a quick run")
164178
break
179+
if (fixture_path, fixture_name) in INCORRECT_UPSTREAM_TESTS:
180+
return pytest.mark.xfail(reason="Listed in INCORRECT_UPSTREAM_TESTS.")
165181

166182

167183
def pytest_generate_tests(metafunc):

0 commit comments

Comments
 (0)