Commit Graph

163 Commits

Author SHA1 Message Date
Paul Hauner
ddac7540bc Allow test_harness to load validators from file. 2019-03-08 16:10:21 +11:00
Paul Hauner
4b21252ce4 Refactor BeaconChain and BeaconState genesis
Now it more easily supports using pre-build validator registries.
2019-03-08 15:33:45 +11:00
Paul Hauner
6efe2ad3e3 Add debug logs to test_harness prepare 2019-03-08 15:09:33 +11:00
Paul Hauner
e76b5e1c3a Re-work deposit generation for memory efficiency
Helps ensure that variables are dropped after they're finished being
used.
2019-03-08 15:06:13 +11:00
Paul Hauner
ec9e0bbddf Allow test_harness to load validators from file
Also adds a command to test_harness binary to generate validators
2019-03-08 13:18:02 +11:00
Paul Hauner
b98f514d68 Break BeaconChainHarness validator gen into fn
Prepares for allowing for loading from file
2019-03-08 10:50:43 +11:00
Paul Hauner
9a964be58b Update test_harness clap args structure
Prepares it for adding a new subcommand
2019-03-08 10:50:12 +11:00
Paul Hauner
60098a051d Fix/silence clippy lints 2019-03-08 09:23:57 +11:00
Paul Hauner
1ef2652cac Add transfer processing to BeaconChain 2019-03-07 17:23:11 +11:00
Paul Hauner
195cb16a41 Update test_harness for spec v0.4.0 2019-03-07 14:29:21 +11:00
Paul Hauner
db3b6cba6d Introduce Fork struct to block_producer
It's a pretty crappy solution, IMO. It shouldn't really belong in
"duties" but this gets the job done for now.
2019-03-07 13:54:56 +11:00
Paul Hauner
5a21e19a31 Fix all compile errors from v0.4.0 update 2019-03-07 12:53:15 +11:00
Paul Hauner
a4e604a41e Update BeaconChain to spec v0.4.0 2019-03-07 12:25:29 +11:00
Paul Hauner
93ce7b59e7 Merge branch 'master' into v0.4.0-types 2019-03-07 12:03:27 +11:00
Michael Sproul
6253167cac Update ethereum-types to 0.5 2019-03-06 10:08:35 +11:00
Michael Sproul
d519bc1388 Use cfg(test) for test macros 2019-03-05 17:29:08 +11:00
Paul Hauner
663d39739f Do project-wide s/epoch_length/slots_per_epoch/g 2019-03-04 17:51:54 +11:00
Paul Hauner
ef006bfb2c Add Exit support to test_harness 2019-03-04 12:21:24 +11:00
Paul Hauner
f4d8b41a09 Add Exit inclusion queue to BeaconChain 2019-03-04 12:20:59 +11:00
Paul Hauner
bc4acd9a5c Re-work module structure in test_harness
Obeys the standard where structs live in files with the same name
2019-03-04 09:43:19 +11:00
Paul Hauner
3aaa3ea024 Use clearer types in test_harness::Config 2019-03-04 09:30:09 +11:00
Paul Hauner
9d77f2b1a8 Add README to test_harness 2019-03-03 16:38:25 +11:00
Paul Hauner
697d1ef626 Add CLI option for log-level to test_harness 2019-03-03 16:15:00 +11:00
Paul Hauner
58002f68e1 Move test_harness yaml file 2019-03-03 16:14:40 +11:00
Paul Hauner
a29eca57a1 Rename test_harness::manifest to test_case
I thing `TestCase` is better than manifest -- a manifest is more of a
list of items than a series of steps and checks. Plus it conflicts with
a Cargo manifest.
2019-03-03 15:12:19 +11:00
Paul Hauner
48fc709109 Fix failing test 2019-03-03 15:08:13 +11:00
Paul Hauner
7b72934943 Add comments to test_harness::Manifest 2019-03-03 15:07:54 +11:00
Paul Hauner
1703508385 Add comments to new BeaconChainHarness methods. 2019-03-03 12:02:58 +11:00
Paul Hauner
f5e4fe29d7 Add comments to new BeaconChain methods
- Adds comments
- Also drops a message from `warn` down to `debug`. It was giving
warnings even on an Ok result.
2019-03-03 11:54:51 +11:00
Paul Hauner
ede5685bc2 Fix warnings and clippy lints 2019-03-03 11:47:09 +11:00
Paul Hauner
87feeea1fd Remove merkle_index from test_harness YAML
IMO, this is an implementation detail that shouldn't be covered in these
tests.
2019-03-03 11:31:08 +11:00
Paul Hauner
a8c3b5fdd8 Update test_harness yaml
- Checks for attester slashing, now it is included in the chain.
- Renames suite to be more specific, use normal Eth2.0 naming
2019-03-03 11:19:27 +11:00
Paul Hauner
9156aa2203 Add info log when building test_harness chain dump
It helps people know why they're waiting
2019-03-02 20:20:06 +11:00
Paul Hauner
4db2f082e1 Add state-checks to test_harness YAML
Runs tests against a state at some slot
2019-03-02 20:17:14 +11:00
Paul Hauner
f5614381e1 Re-organise test_harness binary
Moves manifest and components into separate files.
2019-03-02 18:59:47 +11:00
Paul Hauner
db28cc1b92 Fix warnings in test_harness/src/bin.rs 2019-03-02 18:43:27 +11:00
Paul Hauner
e59404f463 Change test_harness proposer_slashings YAML
Removes a lot of the detail from the `proposer_slashings` field -- IMO
this is not necessary in the test spec, the details of how a
proposer_slashing is created should be held in the program and the spec
should only define that one happens.
2019-03-02 18:37:21 +11:00
Paul Hauner
bb4d392a98 Add AttestationSlashingBuilder 2019-03-02 16:05:45 +11:00
Paul Hauner
ff2783a1cb Add AttesterSlashing to test_harness
- Adds methods to BeaconChainHarness
- Adds YAML parsing
2019-03-02 15:35:02 +11:00
Paul Hauner
c885e36a93 Add fn to BeaconChainHarness validator signing
Signs some message using the priv key of some validator
2019-03-02 15:30:50 +11:00
Paul Hauner
ec5581ce1d Shorten test_harness YAML to single test 2019-03-02 15:28:01 +11:00
Paul Hauner
7f1e40a8c6 Add proposer slashing support to test_harness
Test harness will now add signatures to a ProposerSlashing and submit it
to the BeaconChain
2019-03-02 11:25:55 +11:00
Paul Hauner
fd819fb7ca Set BeaconChain block propose failure log to warn
It think it's more suitable to a warn
2019-03-02 11:24:41 +11:00
Paul Hauner
1de723b275 Add proposer/attester slash queues to BeaconChain
Allows for storing and including AttesterSlashing and ProposerSlashing
objects in blocks.
2019-03-02 11:23:37 +11:00
Paul Hauner
b0403707eb Add support for deposits to test_harness 2019-03-01 16:59:55 +11:00
Paul Hauner
c278c08e34 Remove unnecessary clone. 2019-03-01 16:57:24 +11:00
Paul Hauner
eeeff9ef02 Ensure chain-dumps come with earliest block first
Previously dump.first() was the latest block. IMO, this is
counter-intuitive
2019-03-01 16:56:52 +11:00
Paul Hauner
1097c8089b Add naive deposit-handling to BeaconChain 2019-03-01 16:56:27 +11:00
Paul Hauner
1479013bd0 Add skip_slots to test_harness yaml processor 2019-03-01 13:28:07 +11:00
Paul Hauner
8b06fa31da Add basic YAML test_harness tests
Works, however ignores a lot of fields in the YAML.
2019-02-28 23:13:00 +11:00