validate mainnet specs against all forks (#11625)

* ethcore/res: move test specifications in test-specs subdirectory

* ethcore/spec: update paths for test machines

* scripts/actions: validate mainnet specs against all forks

* fix unexpected end of macro invocation

* scripts/actions: remove first empty line

Co-Authored-By: Niklas Adolfsson <niklasadolfsson1@gmail.com>

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
This commit is contained in:
Raw Pong Ghmoa
2020-04-15 12:15:04 +02:00
committed by GitHub
parent 4b5e9ddfa6
commit 2a3b321a34
17 changed files with 77 additions and 50 deletions

View File

@@ -45,6 +45,20 @@ macro_rules! bundle_test_spec {
}
}
macro_rules! bundle_custom_spec {
($($path: expr => $name: ident), *) => {
$(
/// Bundled test spec
pub fn $name() -> crate::spec::Spec {
crate::spec::Spec::load(
&::std::env::temp_dir(),
include_bytes!(concat!("../../res/", $path, ".json")) as &[u8]
).expect(concat!("Chain spec ", $path, " is invalid."))
}
)*
}
}
macro_rules! bundle_test_machine {
($($path: expr => $name: ident), *) => {
$(
@@ -62,8 +76,10 @@ bundle_release_spec! {
"ethereum/callisto" => new_callisto,
"ethereum/classic" => new_classic,
"ethereum/ellaism" => new_ellaism,
"ethereum/evantestcore" => new_evantestcore,
"ethereum/ethercore" => new_ethercore,
"ethereum/evancore" => new_evancore,
"ethereum/evantestcore" => new_evantestcore,
"ethereum/ewc" => new_ewc,
"ethereum/expanse" => new_expanse,
"ethereum/foundation" => new_foundation,
"ethereum/goerli" => new_goerli,
@@ -73,57 +89,58 @@ bundle_release_spec! {
"ethereum/mordor" => new_mordor,
"ethereum/musicoin" => new_musicoin,
"ethereum/poacore" => new_poanet,
"ethereum/xdai" => new_xdai,
"ethereum/ethercore" => new_ethercore,
"ethereum/poasokol" => new_sokol,
"ethereum/rinkeby" => new_rinkeby,
"ethereum/ropsten" => new_ropsten,
"ethereum/volta" => new_volta,
"ethereum/ewc" => new_ewc
"ethereum/xdai" => new_xdai
}
bundle_test_spec! {
"ethereum/test-specs/berlin_test" => new_berlin_test,
"ethereum/test-specs/byzantium_test" => new_byzantium_test,
"ethereum/test-specs/constantinople_test" => new_constantinople_test,
"ethereum/test-specs/eip150_test" => new_eip150_test,
"ethereum/test-specs/eip161_test" => new_eip161_test,
"ethereum/test-specs/eip210_test" => new_eip210_test,
"ethereum/test-specs/frontier_like_test" => new_mainnet_like,
"ethereum/test-specs/frontier_test" => new_frontier_test,
"ethereum/test-specs/homestead_test" => new_homestead_test,
"ethereum/test-specs/istanbul_test" => new_istanbul_test,
"ethereum/test-specs/kovan_wasm_test" => new_kovan_wasm_test,
"ethereum/test-specs/mcip3_test" => new_mcip3_test,
"ethereum/test-specs/st_peters_test" => new_constantinople_fix_test,
"ethereum/test-specs/transition_test" => new_transition_test
}
bundle_custom_spec! {
"authority_round" => new_test_round,
"authority_round_block_reward_contract" => new_test_round_block_reward_contract,
"authority_round_empty_steps" => new_test_round_empty_steps,
"authority_round_randomness_contract" => new_test_round_randomness_contract,
"constructor" => new_test_constructor,
"ethereum/byzantium_test" => new_byzantium_test,
"ethereum/constantinople_test" => new_constantinople_test,
"ethereum/istanbul_test" => new_istanbul_test,
"ethereum/berlin_test" => new_berlin_test,
"ethereum/eip150_test" => new_eip150_test,
"ethereum/eip161_test" => new_eip161_test,
"ethereum/eip210_test" => new_eip210_test,
"ethereum/frontier_like_test" => new_mainnet_like,
"ethereum/frontier_test" => new_frontier_test,
"ethereum/homestead_test" => new_homestead_test,
"ethereum/kovan_wasm_test" => new_kovan_wasm_test,
"ethereum/mcip3_test" => new_mcip3_test,
"ethereum/mordor" => new_mordor_test,
"ethereum/ropsten" => new_ropsten_test,
"ethereum/st_peters_test" => new_constantinople_fix_test,
"ethereum/transition_test" => new_transition_test,
"instant_seal" => new_instant,
"null" => new_null,
"null_morden" => new_test,
"null_morden_with_reward" => new_test_with_reward,
"null_morden_with_finality" => new_test_with_finality,
"null_morden_with_reward" => new_test_with_reward,
"validator_contract" => new_validator_contract,
"validator_multi" => new_validator_multi,
"validator_safe_contract" => new_validator_safe_contract
}
bundle_test_machine! {
"ethereum/byzantium_test" => new_byzantium_test_machine,
"ethereum/constantinople_test" => new_constantinople_test_machine,
"ethereum/istanbul_test" => new_istanbul_test_machine,
"ethereum/berlin_test" => new_berlin_test_machine,
"ethereum/eip210_test" => new_eip210_test_machine,
"ethereum/frontier_test" => new_frontier_test_machine,
"ethereum/homestead_test" => new_homestead_test_machine,
"ethereum/kovan_wasm_test" => new_kovan_wasm_test_machine,
"null_morden" => new_test_machine
"null_morden" => new_test_machine,
"ethereum/test-specs/berlin_test" => new_berlin_test_machine,
"ethereum/test-specs/byzantium_test" => new_byzantium_test_machine,
"ethereum/test-specs/constantinople_test" => new_constantinople_test_machine,
"ethereum/test-specs/eip210_test" => new_eip210_test_machine,
"ethereum/test-specs/frontier_test" => new_frontier_test_machine,
"ethereum/test-specs/homestead_test" => new_homestead_test_machine,
"ethereum/test-specs/istanbul_test" => new_istanbul_test_machine,
"ethereum/test-specs/kovan_wasm_test" => new_kovan_wasm_test_machine,
"ethereum/test-specs/mcip3_test" => new_mcip3_test_machine,
"ethereum/test-specs/st_peters_test" => new_constantinople_fix_test_machine
}
#[cfg(test)]