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

@@ -1,3 +1,4 @@
use arbitrary::Arbitrary;
use beacon_chain::blob_verification::GossipVerifiedBlob;
use beacon_chain::data_column_verification::GossipVerifiedDataColumn;
use beacon_chain::test_utils::{
@@ -8,7 +9,6 @@ use rand::SeedableRng;
use rand::rngs::StdRng;
use std::sync::Arc;
use types::data::FixedBlobSidecarList;
use types::test_utils::TestRandom;
use types::{
BlobSidecar, DataColumnSidecar, DataColumnSidecarFulu, DataColumnSidecarGloas, Domain, EthSpec,
MinimalEthSpec, PayloadAttestationData, PayloadAttestationMessage, SignedRoot, Slot,
@@ -74,19 +74,19 @@ async fn data_column_sidecar_event_on_process_gossip_data_column() {
let mut data_column_event_receiver = event_handler.subscribe_data_column_sidecar();
// build and process a gossip verified data column
let mut rng = StdRng::seed_from_u64(0xDEADBEEF0BAD5EEDu64);
let mut u = types::test_utils::test_unstructured();
let sidecar = {
let slot = Slot::new(10);
let fork_name = harness.spec.fork_name_at_slot::<E>(slot);
// DA checker only accepts sampling columns, so we need to create one with a sampling index.
if fork_name.gloas_enabled() {
let mut random_sidecar = DataColumnSidecarGloas::random_for_test(&mut rng);
let mut random_sidecar = DataColumnSidecarGloas::arbitrary(&mut u).unwrap();
let epoch = slot.epoch(E::slots_per_epoch());
random_sidecar.slot = slot;
random_sidecar.index = harness.chain.sampling_columns_for_epoch(epoch)[0];
DataColumnSidecar::Gloas(random_sidecar)
} else {
let mut random_sidecar = DataColumnSidecarFulu::random_for_test(&mut rng);
let mut random_sidecar = DataColumnSidecarFulu::arbitrary(&mut u).unwrap();
let epoch = slot.epoch(E::slots_per_epoch());
random_sidecar.signed_block_header.message.slot = slot;
random_sidecar.index = harness.chain.sampling_columns_for_epoch(epoch)[0];