-
Notifications
You must be signed in to change notification settings - Fork 480
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
Add tests for eth_subscribe #146
Add tests for eth_subscribe #146
Conversation
@sorpaas I am not able to test logs subscription. The reason is evm receipt logs are empty on manual-seal, I am not sure why. Please review and merge if it lgty. We will come back to it once we figure out the receipt logs thing. |
@jimmychu0807, @seunlanlege - @tgmichel is having some issues with manual seal. Do you think you might be able to help them?
|
@danforbes @jimmychu0807 @seunlanlege I cannot move forward with this without knowing more about the problem. @crystalin mentioned he is also having problems with it - set_timestamp called twice when calling
Do you know something about this? |
can you post the full logs? |
|
I've noticed intermittent tests related to manual-seal also paritytech/substrate#6951 (comment) |
@seunlanlege. One way to reproduce the error in a different way is by sending engine_createBlock (with finalize) 2 in a row. Start frontier with manual-seal Simply send 2 requests to create a block: The 2nd one will fail and the server will generate:
I think it is the same issue that happens with the tests where depending on the latency, there could be 2 createBlock too quickly. |
So the log says I believe paritytech/substrate#7010 introduced the ability to do that with manual seal. |
Here's a hypothesis: We use manual seal to author two blocks in short succession. When authoring each block, we create a timestamp inherent. The second block is rejected because, "Only one block may be authored per slot". The timestamp extrinsic from that rejected block somehow makes it back into the pool and ends up in the next (third overall) block. What happens if we shorten the slot duration significantly? Can we still reproduce the issue as easily? |
Changing the blocktime (
|
#170 mostly fixed this. However still experimenting odd behaviour when running the tests locally VS. github. I had to extend the timeout to let the Promises resolve properly here, while locally works with the default 2000ms timeout. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly LGTM. Some nits.
* Add connect, subscribe and newHeads tests. * Add newPendingTransactions test * Increase timeout on steps that create blocks * Add new bytecode and update existing * Add all logs test * Add logs test by address * Add logs test by topic * Add past events subscription * Fix checker * Increase step timeout for promise resolving * Add some fields to just identify a block type * Add topic wildcards and parameters tests * Bug fix for topic filter * Cleanup
No description provided.