Remove TestRandom (#9006)

We  have a legacy `TestRandom` trait which generates random types for testing and fuzzing.
This function overlaps with `arbitrary` which is used very commonly in the ecosystem.


  Remove `TestRandom` and generate random type instances using `Arbitrary`.


Co-Authored-By: Mac L <mjladson@pm.me>

Co-Authored-By: Michael Sproul <michael@sigmaprime.io>
This commit is contained in:
Mac L
2026-05-05 10:35:57 +04:00
committed by GitHub
parent 4b314d8e79
commit 3351db1ba8
121 changed files with 418 additions and 1141 deletions

View File

@@ -1041,8 +1041,6 @@ mod test {
EphemeralHarnessType, NumBlobs, generate_data_column_indices_rand_order,
generate_rand_block_and_data_columns, get_kzg,
};
use rand::SeedableRng;
use rand::prelude::StdRng;
use slot_clock::{SlotClock, TestingSlotClock};
use std::collections::HashSet;
use std::sync::Arc;
@@ -1061,7 +1059,7 @@ mod test {
fn should_exclude_rpc_columns_not_required_for_sampling() {
// SETUP
let spec = Arc::new(ForkName::Fulu.make_genesis_spec(E::default_spec()));
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
let mut u = types::test_utils::test_unstructured();
let da_checker = new_da_checker(spec.clone());
let custody_context = &da_checker.custody_context;
@@ -1093,9 +1091,10 @@ mod test {
let (_, data_columns) = generate_rand_block_and_data_columns::<E>(
ForkName::Fulu,
NumBlobs::Number(1),
&mut rng,
&mut u,
&spec,
);
)
.unwrap();
let block_root = Hash256::random();
// Get 10 columns using the "latest" CGC (head) that block lookup would use.
// The CGC change becomes effective after CUSTODY_CHANGE_DA_EFFECTIVE_DELAY_SECONDS,
@@ -1147,7 +1146,7 @@ mod test {
fn should_exclude_gossip_columns_not_required_for_sampling() {
// SETUP
let spec = Arc::new(ForkName::Fulu.make_genesis_spec(E::default_spec()));
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
let mut u = types::test_utils::test_unstructured();
let da_checker = new_da_checker(spec.clone());
let custody_context = &da_checker.custody_context;
@@ -1180,9 +1179,10 @@ mod test {
let (_, data_columns) = generate_rand_block_and_data_columns::<E>(
ForkName::Fulu,
NumBlobs::Number(1),
&mut rng,
&mut u,
&spec,
);
)
.unwrap();
let block_root = Hash256::random();
// Get 10 columns using the "latest" CGC that gossip subscriptions would use.
// The CGC change becomes effective after CUSTODY_CHANGE_DA_EFFECTIVE_DELAY_SECONDS,
@@ -1230,7 +1230,7 @@ mod test {
#[test]
fn verify_kzg_for_range_sync_blocks_should_not_truncate_data_columns_fulu() {
let spec = Arc::new(ForkName::Fulu.make_genesis_spec(E::default_spec()));
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
let mut u = types::test_utils::test_unstructured();
let da_checker = new_da_checker(spec.clone());
// GIVEN multiple RPC blocks with data columns totalling more than 128
@@ -1239,9 +1239,10 @@ mod test {
let (block, data_columns) = generate_rand_block_and_data_columns::<E>(
ForkName::Fulu,
NumBlobs::Number(1),
&mut rng,
&mut u,
&spec,
);
)
.unwrap();
let custody_columns = if index == 0 {
// 128 valid data columns in the first block
@@ -1293,7 +1294,7 @@ mod test {
fn should_exclude_reconstructed_columns_not_required_for_sampling() {
// SETUP
let spec = Arc::new(ForkName::Fulu.make_genesis_spec(E::default_spec()));
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
let mut u = types::test_utils::test_unstructured();
let da_checker = new_da_checker(spec.clone());
let custody_context = &da_checker.custody_context;
@@ -1314,9 +1315,10 @@ mod test {
let (block, data_columns) = generate_rand_block_and_data_columns::<E>(
ForkName::Fulu,
NumBlobs::Number(1),
&mut rng,
&mut u,
&spec,
);
)
.unwrap();
let block_root = Hash256::random();
// Add the block to the DA checker
da_checker