|
32 | 32 | BASE_FIXTURE_PATH = os.path.join(ROOT_PROJECT_DIR, 'fixtures', 'BlockchainTests')
|
33 | 33 |
|
34 | 34 |
|
| 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 | + |
35 | 49 | def blockchain_fixture_mark_fn(fixture_path, fixture_name):
|
36 | 50 | if fixture_path.startswith('bcExploitTest'):
|
37 | 51 | return pytest.mark.skip("Exploit tests are slow")
|
38 | 52 | elif fixture_path == 'bcWalletTest/walletReorganizeOwners.json':
|
39 | 53 | 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.") |
40 | 56 |
|
41 | 57 |
|
42 | 58 | def blockchain_fixture_ignore_fn(fixture_path, fixture_name):
|
43 | 59 | if fixture_path.startswith('GeneralStateTests'):
|
44 | 60 | # 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 |
46 | 62 | return True
|
47 | 63 |
|
48 | 64 |
|
|
0 commit comments