GithubHelp home page GithubHelp logo

Comments (7)

gumb0 avatar gumb0 commented on July 26, 2024

Ok I see from https://github.com/ethereum/tests/blob/develop/PRLOG.md that they're used in transition tests. Then I have the following questions/suggestions:

  1. Why is this distinction between "regular forks" and "transition test forks" really needed in config? I think retesteth knows which chain configs are required for state tests (it's written in the test) and which others are required for transition tests. So it seems they all could be in a single list, not to complicate configuration for the user.

  2. If you insist that it's needed, I'd say a better name could be maybe transitionTestConfigs, to more clearly show what's its purpose (maybe later you would need some other type of tests/configs, what would you call it then, "additionalForks2"?)

from retesteth.

winsvega avatar winsvega commented on July 26, 2024

no. the reason is that forks from regular forks section are ordered and dynamic. retesteth just takes names from those and apply operators from tests.
so the client could fill up tests a < b < c < d given that a,b,c,d could be any name.

so I had to extend the allowed fork names by another section. cause transition tests use unique fork names. and for that fork names tests should not be generated when parsing >=a

the transition tests still not quite work with retesteth + geth.

from retesteth.

gumb0 avatar gumb0 commented on July 26, 2024

no. the reason is that forks from regular forks section are ordered and dynamic. retesteth just takes names from those and apply operators from tests.
so the client could fill up tests a < b < c < d given that a,b,c,d could be any name.

Running a test or filling a test on a particular fork is independent of other forks, so I don't see why order matters.

So do you mean that the point of forks is to allow filling only for the subset of forks? As I pointed out in #67 (striked out part) I think this should be better fine-tuned with command line options.

so I had to extend the allowed fork names by another section. cause transition tests use unique fork names. and for that fork names tests should not be generated when parsing >=a

I see, but to me this is an internal logic of retesteth. I think other clients would use these same srtings like FrontierToHomesteadAt5 if they would want to generate transition tests.
So my doubts from #67 apply here.

the transition tests still not quite work with retesteth + geth.

I guess they might yet not support at all these transition config names (but I don't know)

from retesteth.

winsvega avatar winsvega commented on July 26, 2024

Thats the point of configs. Any new client could use custom names and change any string

from retesteth.

gumb0 avatar gumb0 commented on July 26, 2024

I argue in #67 that this flexibility is not really needed by anyone, all the clients adapt their fork name strings when they integrate retesteth support anyway. It's just an additional configuration hassle to make it work right + additional maintenance pain for you.

from retesteth.

winsvega avatar winsvega commented on July 26, 2024

what about fork+EIP config?
I'd really like to keep custom fork support.
Maybe it should be split to a different config file then socket configuration.

from retesteth.

gumb0 avatar gumb0 commented on July 26, 2024

what about fork+EIP config?

In case clients would use the same chain config format for this case, too, then I think retesteth could also simplify this for the user (by creating the config with +EIP activated in it at runtime)

from retesteth.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.