Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Implement NoProof for json tests and update tests reference #9744

Closed
wants to merge 43 commits into from

Conversation

cheme
Copy link
Contributor

@cheme cheme commented Oct 12, 2018

Closes #9590 .

Update to latest ethereum/tests .
Fix cost for constantinople test json.
Implements 'NoProof' engine from ethereum/tests#464 .

At this point with this PR everything pass except the case spotted by /cc @holiman this week in https://gist.github.com/holiman/0154f00d5fcec5f89e85894cbb46fcb2 .

I skip those tests. For completeness, @sorpaas indicated that it is not an easy fix : so since those case cannot happen on a mainchain I did not open and reference an issue for them (in the json defining tests to skip I only added a comment but not issue reference).

Note for reviewer:

  • when running NoProof with CanonNoSeal, the upper gas limit verification is required : I switch it from verify_block_basic to the header check. I got to put another trait method for it, a lighter change would be to make this check for every engine but it would change a bit the existing behavior (might not be an issue).

cheme added 5 commits October 8, 2018 18:24
Block test are really not working so I disabled a few by commenting
directly in source.
Since tests has been regenerated those one were failing on block
difficulty check.

Update ethereum/tests, waiting for cost fix (block test are still
commented).
identified case).
Fix block reward of constantinople json.
@cheme cheme added the A0-pleasereview 🤓 Pull request needs code review. label Oct 12, 2018
@parity-cla-bot
Copy link

It looks like this contributor signed our Contributor License Agreement. 👍

Many thanks,

Parity Technologies CLA Bot

}

/// No nonce handle, skip test.
fn verify_block_unordered(&self, _header: &Header) -> Result<(), Error> {
Copy link
Collaborator

Choose a reason for hiding this comment

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

What's the difference of this and VerifierType::CanonNoSeal? It looks like here in addition we skipped verify_block_unordered transaction basics verification, which I worry would give us some true negatives of failing tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes 'check_seal' false will probably do it, I'll check that on monday, on ice till then.

@cheme cheme added A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. and removed A0-pleasereview 🤓 Pull request needs code review. labels Oct 13, 2018
@cheme cheme added A0-pleasereview 🤓 Pull request needs code review. and removed A3-inprogress ⏳ Pull request is in progress. No review needed at this stage. labels Oct 15, 2018
@5chdn
Copy link
Contributor

5chdn commented Oct 15, 2018

we need to backport this, don't we?

@5chdn 5chdn added this to the 2.2 milestone Oct 15, 2018
@5chdn 5chdn added the M4-core ⛓ Core client code / Rust. label Oct 15, 2018
verification, the test is running in `verify_header_param`.
Note that test was previously only for ethash, and now for any engine.
@sorpaas
Copy link
Collaborator

sorpaas commented Oct 16, 2018

A little bit confused on this:

some test were pointing to old json, I simply copied the old version of the test, that may not be the best solution but it keeps things unchanged.

Why do we need to point to old json files for those tests?

@cheme
Copy link
Contributor Author

cheme commented Oct 16, 2018

@sorpaas I just fix it properly, basically no handling of NoProof for one and change of querried blocks for the other.

@5chdn it could be good to backport, just to be able to run latest json-tests suite.

cheme and others added 3 commits October 16, 2018 14:35
* prevent zero networkID, closes openethereum#8345

Signed-off-by: Seun LanLege <[email protected]>

* updated networkID of olymic chain spec

Signed-off-by: Seun LanLege <[email protected]>
5chdn added 2 commits October 17, 2018 14:52
* docs: add changelog for parity ethereum v2.1.3 beta

* docs: add changelog for parity ethereum v2.0.7 stable
Copy link
Collaborator

@sorpaas sorpaas left a comment

Choose a reason for hiding this comment

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

LGTM! Just a few grumbles on <whitespace>/<tab>.

"CreateOOGafterInitCodeReturndata2_d0g1v0_Constantinople"
]
"reference": "None",
"comment": "This failing test is deemed skippable. Could not happen on a mainnet.",
Copy link
Collaborator

Choose a reason for hiding this comment

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

tabify this line

"push32withoutByte_d0g0v0_Constantinople"
]
"reference": "None",
"comment": "This failing test is deemed skippable. Could not happen on a mainnet.",
Copy link
Collaborator

Choose a reason for hiding this comment

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

tabify this line

{
"reference": "9590",
"reference": "None",
"comment": "This failing test is deemed skippable. Could not happen on a mainnet.",
Copy link
Collaborator

Choose a reason for hiding this comment

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

tabify this line

{
"reference": "9590",
"reference": "None",
"comment": "This failing test is deemed skippable. Could not happen on a mainnet.",
Copy link
Collaborator

Choose a reason for hiding this comment

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

tabify this line

Update tests submodule to latest master (lot of new sstore tests
passing)
sorpaas and others added 18 commits October 26, 2018 13:21
* Expose config max-round-blocks-to-import

* Fix test
* removed "rustup" & added new runner tag

* exchanged tag "rust-windows" with "windows"

* revert windows tag change
* Update Dockerfile

Since parity is built for "mission critical use", I thought other operators may see the need for this.

Adding the `curl` and `jq` commands allows for an extremely simple health check to be usable in container orchestrators.

For example. Here is a health check for a parity docker container running in Kubernetes.

This can be setup as a readiness Probe that would prevent clustered nodes that aren't ready from serving traffic.

```bash
#!/bin/bash

ETH_SYNCING=$(curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 -H 'Content-Type: application/json')
RESULT=$(echo "$ETH_SYNCING | jq -r .result)

if [ "$RESULT" == "false" ]; then
  echo "Parity is ready to start accepting traffic"
  exit 0
else
  echo "Parity is still syncing the blockchain"
  exit 1
fi
```

* add sync check script
Block test are really not working so I disabled a few by commenting
directly in source.
Since tests has been regenerated those one were failing on block
difficulty check.

Update ethereum/tests, waiting for cost fix (block test are still
commented).
identified case).
Fix block reward of constantinople json.
verification, the test is running in `verify_header_param`.
Note that test was previously only for ethash, and now for any engine.
Update tests submodule to latest master (lot of new sstore tests
passing)
@cheme
Copy link
Contributor Author

cheme commented Oct 26, 2018

I close this request (I really messed up my rebase), #9814 replaces this.

@cheme cheme closed this Oct 26, 2018
@5chdn 5chdn added A4-gotissues 💥 Pull request is reviewed and has significant issues which must be addressed. and removed A0-pleasereview 🤓 Pull request needs code review. B1-patch-beta 🕷🕷 B9-blocker 🚧 This pull request blocks the next release from happening. Use only in extreme cases. labels Oct 27, 2018
5chdn pushed a commit that referenced this pull request Nov 1, 2018
…9744) (#9814)

* Update test reference.
Block test are really not working so I disabled a few by commenting
directly in source.

* Move ethtest commit cursor.

* Implements 'NoProof' engine from ethereum/tests#464 .

Since tests has been regenerated those one were failing on block
difficulty check.

Update ethereum/tests, waiting for cost fix (block test are still
commented).

* Update tests submodule reference to latest (all test passing except an
identified case).
Fix block reward of constantinople json.

* Restore broken test by using old json tests files.

* Use CanonNoSeal instead of a custom engine, still have to include some
additional tests code.

* Gas upper limit check in json_chain test was bad, moving the test to
verification, the test is running in `verify_header_param`.
Note that test was previously only for ethash, and now for any engine.

* Restore old behavior (gas uper limit only for ethash engine), at the
cost of an additional trait method.

* Proper rpc test fix.

* Update tests submodule, add SStore bug tests.

* Fix json issue tabulation.
Update tests submodule to latest master (lot of new sstore tests
passing)

* Switch ethereum/tests to tag 6.0.0-beta.1 (no tests changes from latest
synch).

* Display hex with separator, use indirection instead of clone for copy
types.
@5chdn 5chdn mentioned this pull request Nov 1, 2018
8 tasks
cheme added a commit that referenced this pull request Nov 1, 2018
…9744) (#9814)

* Update test reference.
Block test are really not working so I disabled a few by commenting
directly in source.

* Move ethtest commit cursor.

* Implements 'NoProof' engine from ethereum/tests#464 .

Since tests has been regenerated those one were failing on block
difficulty check.

Update ethereum/tests, waiting for cost fix (block test are still
commented).

* Update tests submodule reference to latest (all test passing except an
identified case).
Fix block reward of constantinople json.

* Restore broken test by using old json tests files.

* Use CanonNoSeal instead of a custom engine, still have to include some
additional tests code.

* Gas upper limit check in json_chain test was bad, moving the test to
verification, the test is running in `verify_header_param`.
Note that test was previously only for ethash, and now for any engine.

* Restore old behavior (gas uper limit only for ethash engine), at the
cost of an additional trait method.

* Proper rpc test fix.

* Update tests submodule, add SStore bug tests.

* Fix json issue tabulation.
Update tests submodule to latest master (lot of new sstore tests
passing)

* Switch ethereum/tests to tag 6.0.0-beta.1 (no tests changes from latest
synch).

* Display hex with separator, use indirection instead of clone for copy
types.
5chdn added a commit that referenced this pull request Nov 2, 2018
* version: mark 2.2.0 beta

* ci: remove failing tests for android, windows, and macos (#9788)

* ci: remove failing tests for android, windows, and macos

* ci: restore android build jobs

* Move state root verification before gas used (#9841)

* Classic.json Bootnode Update (#9828)

* fix: Update bootnodes list to only responsive nodes

* feat: Add more bootnodes to classic.json list

* feat: Add retested bootnodes

* Implement NoProof for json tests and update tests reference (replaces #9744) (#9814)

* Update test reference.
Block test are really not working so I disabled a few by commenting
directly in source.

* Move ethtest commit cursor.

* Implements 'NoProof' engine from ethereum/tests#464 .

Since tests has been regenerated those one were failing on block
difficulty check.

Update ethereum/tests, waiting for cost fix (block test are still
commented).

* Update tests submodule reference to latest (all test passing except an
identified case).
Fix block reward of constantinople json.

* Restore broken test by using old json tests files.

* Use CanonNoSeal instead of a custom engine, still have to include some
additional tests code.

* Gas upper limit check in json_chain test was bad, moving the test to
verification, the test is running in `verify_header_param`.
Note that test was previously only for ethash, and now for any engine.

* Restore old behavior (gas uper limit only for ethash engine), at the
cost of an additional trait method.

* Proper rpc test fix.

* Update tests submodule, add SStore bug tests.

* Fix json issue tabulation.
Update tests submodule to latest master (lot of new sstore tests
passing)

* Switch ethereum/tests to tag 6.0.0-beta.1 (no tests changes from latest
synch).

* Display hex with separator, use indirection instead of clone for copy
types.
DemiMarie pushed a commit to poanetwork/parity-ethereum that referenced this pull request Jan 23, 2019
* version: mark 2.2.0 beta

* ci: remove failing tests for android, windows, and macos (openethereum#9788)

* ci: remove failing tests for android, windows, and macos

* ci: restore android build jobs

* Move state root verification before gas used (openethereum#9841)

* Classic.json Bootnode Update (openethereum#9828)

* fix: Update bootnodes list to only responsive nodes

* feat: Add more bootnodes to classic.json list

* feat: Add retested bootnodes

* Implement NoProof for json tests and update tests reference (replaces openethereum#9744) (openethereum#9814)

* Update test reference.
Block test are really not working so I disabled a few by commenting
directly in source.

* Move ethtest commit cursor.

* Implements 'NoProof' engine from ethereum/tests#464 .

Since tests has been regenerated those one were failing on block
difficulty check.

Update ethereum/tests, waiting for cost fix (block test are still
commented).

* Update tests submodule reference to latest (all test passing except an
identified case).
Fix block reward of constantinople json.

* Restore broken test by using old json tests files.

* Use CanonNoSeal instead of a custom engine, still have to include some
additional tests code.

* Gas upper limit check in json_chain test was bad, moving the test to
verification, the test is running in `verify_header_param`.
Note that test was previously only for ethash, and now for any engine.

* Restore old behavior (gas uper limit only for ethash engine), at the
cost of an additional trait method.

* Proper rpc test fix.

* Update tests submodule, add SStore bug tests.

* Fix json issue tabulation.
Update tests submodule to latest master (lot of new sstore tests
passing)

* Switch ethereum/tests to tag 6.0.0-beta.1 (no tests changes from latest
synch).

* Display hex with separator, use indirection instead of clone for copy
types.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A4-gotissues 💥 Pull request is reviewed and has significant issues which must be addressed. M4-core ⛓ Core client code / Rust.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Currently failing JSON tests