Add tests and benches for epoch processing

This commit is contained in:
Paul Hauner
2019-02-26 16:27:42 +13:00
parent 53663e54b5
commit 906131f882
4 changed files with 60 additions and 8 deletions

View File

@@ -9,6 +9,8 @@ use types::{
Crosslink, Epoch, Hash256, InclusionError, PendingAttestation, RelativeEpoch,
};
mod tests;
macro_rules! safe_add_assign {
($a: expr, $b: expr) => {
$a = $a.saturating_add($b);
@@ -725,11 +727,3 @@ impl From<BeaconStateError> for WinningRootError {
WinningRootError::BeaconStateError(e)
}
}
#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}

View File

@@ -0,0 +1,21 @@
#![cfg(test)]
use crate::EpochProcessable;
use env_logger::{Builder, Env};
use types::beacon_state::BeaconStateBuilder;
use types::*;
#[test]
fn runs_without_error() {
Builder::from_env(Env::default().default_filter_or("error")).init();
let mut builder = BeaconStateBuilder::with_random_validators(8);
builder.spec = ChainSpec::few_validators();
builder.genesis().unwrap();
builder.teleport_to_end_of_epoch(builder.spec.genesis_epoch + 4);
let mut state = builder.build().unwrap();
let spec = &builder.spec;
state.per_epoch_processing(spec).unwrap();
}