Remove open invitation buckets from blockages, add test for 75%
This commit is contained in:
parent
20511632e8
commit
3d8f1e799e
|
@ -1279,6 +1279,27 @@ fn stats_test_blockage_migration_70() {
|
||||||
block_bridges(&mut th, 70, credentials);
|
block_bridges(&mut th, 70, credentials);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn stats_test_blockage_migration_75() {
|
||||||
|
let mut th = TestHarness::new_buckets(150, 150);
|
||||||
|
let mut credentials: Vec<cred::Lox> = Vec::new();
|
||||||
|
for _ in 0..10000 {
|
||||||
|
let cred = th.open_invite().1 .0;
|
||||||
|
th.advance_days(30);
|
||||||
|
let (_, migcred) = th.trust_promotion(&cred);
|
||||||
|
let (_, cred1) = th.level0_migration(&cred, &migcred);
|
||||||
|
th.advance_days(14);
|
||||||
|
let (_, cred2) = th.level_up(&cred1);
|
||||||
|
let (_, (cred2a, invite)) = th.issue_invite(&cred2);
|
||||||
|
let (_, bob_cred) = th.redeem_invite(&invite);
|
||||||
|
th.advance_days(28);
|
||||||
|
let (_, _) = th.level_up(&bob_cred);
|
||||||
|
let (_, cred3) = th.level_up(&cred2a);
|
||||||
|
credentials.push(cred3);
|
||||||
|
}
|
||||||
|
|
||||||
|
block_bridges(&mut th, 75, credentials);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn stats_test_blockage_migration_80() {
|
fn stats_test_blockage_migration_80() {
|
||||||
|
@ -1396,15 +1417,20 @@ fn stats_test_blockage_migration_100() {
|
||||||
/// bucket list.
|
/// bucket list.
|
||||||
|
|
||||||
fn block_bridges(th: &mut TestHarness, percentage: usize, credentials: Vec<cred::Lox>) {
|
fn block_bridges(th: &mut TestHarness, percentage: usize, credentials: Vec<cred::Lox>) {
|
||||||
let blockable_bridges = th.ba.bridge_table.buckets.len() - th.ba.bridge_table.spares.len();
|
let blockable_num = th.ba.bridge_table.buckets.len()
|
||||||
let to_block: usize = (blockable_bridges * percentage / 100).into();
|
- th.ba.bridge_table.spares.len()
|
||||||
|
- th.bdb.openinv_buckets.len();
|
||||||
|
let blockable_range = th.ba.bridge_table.buckets.len() - th.ba.bridge_table.spares.len();
|
||||||
|
let to_block: usize = (blockable_num * percentage / 100).into();
|
||||||
let mut block_index: HashSet<usize> = HashSet::new();
|
let mut block_index: HashSet<usize> = HashSet::new();
|
||||||
let mut rng = rand::thread_rng();
|
let mut rng = rand::thread_rng();
|
||||||
|
|
||||||
while block_index.len() <= to_block - 1 {
|
while block_index.len() <= to_block - 1 {
|
||||||
let rand_num = rng.gen_range(0, blockable_bridges);
|
let rand_num = rng.gen_range(0, blockable_range);
|
||||||
|
if !th.bdb.openinv_buckets.contains(&(rand_num as u32)) {
|
||||||
block_index.insert(rand_num);
|
block_index.insert(rand_num);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for index in block_index {
|
for index in block_index {
|
||||||
let b0 = th.ba.bridge_table.buckets[index][0];
|
let b0 = th.ba.bridge_table.buckets[index][0];
|
||||||
|
|
Loading…
Reference in New Issue