Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ECIP1045 + ethereum/tests #21

Open
wants to merge 167 commits into
base: master
Choose a base branch
from
Open

ECIP1045 + ethereum/tests #21

wants to merge 167 commits into from

Conversation

whilei
Copy link
Owner

@whilei whilei commented Sep 10, 2018

  • [] This is a "hybrid" branch, merging ECIP1045 feature branch + ethereum/tests inclusion branch. TODO: reference those PRs/+branches.

This will be utilized by incoming state test marshaling revisions
solution: workaround for skipping tests by name without regexp
solution: check the proper error

Some but not all blockchain tests are failing now, too, in addition
to state tests.

These are either because of parsing problems (like 'invalid 'x' cases, probably),
or because of configuration mismatched (perhaps like the tests failing because of
Difficulty and gas used...).
problem: want to skip all tests for a fork by name
solution: create dedicated ChainConfigs for use by these tests

- compiles core/config/assets
This is because there is a valid block header that is assumed to exist but
doesn't. This commit includes a debugging attempt to check 0x- prefix, which
does not resolve the problem.
solution: add prefix and debugging lines
solution: use regex to match tests by name
solution: remove declaration

:floppy_disk:
solution:

since STATICCALL functions equivalently to CALL, use congruent behavior
to CALL during gas decision log switch statement
solution: ECIP1045Block->ECIP1045BBlock
solution: add deferred chain.Stop call
This is a problem because the function will only respond to anything,
eg. quitting, at 5 second intervals.

solution: refactor to use alternate ticker range syntax,
allowing the loop to exit immediately when bc.quit closes
solution: return any error if non nil
Causing test timeouts.

These tests are run natively, and don't need to be run thru
BlockchainTests.

This also refactors the test-skip matching to a not-very-pretty
solution.

This also _enables_ Byzantium _and_ Constantinople tests by
removing them from the skip list.
So it's less distracting from finding the actual tests.
solution: use new pointer for contract gas
solution: implement missing exported fn for ethtest testrunner
if !ok {
return fmt.Errorf("key=%s fork=%s not supported", key, st.Fork)
}
_, err := test.Run(test, st, rs)
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will also return state, so if desired you can add some extra debug-y log.Printlns or even a return value to the function for handling in the cmd/ethtest package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants