From 67502b58c733b755f658f526aff0536828cd7757 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Wed, 9 Oct 2024 08:02:11 +0200 Subject: Derive seed for Rng from client id --- rust/src/web.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/rust/src/web.rs b/rust/src/web.rs index 420d72c..de87ad6 100644 --- a/rust/src/web.rs +++ b/rust/src/web.rs @@ -2,7 +2,7 @@ use actix_web::{middleware::Logger, post, web, App, HttpResponse, HttpServer, Re use clap::Parser; use futures::lock::Mutex; use log::info; -use proptest::test_runner::TestRunner; +use proptest::test_runner::{Config, RngAlgorithm, TestRng, TestRunner}; use rand::Rng; use serde::{Deserialize, Serialize}; use std::time::Duration; @@ -34,7 +34,6 @@ struct Client { url: String, grade: u8, runner: TestRunner, - seed: u64, results: Vec, delay: std::time::Duration, } @@ -48,12 +47,16 @@ enum TestResult { impl Client { fn new(url: String) -> Self { + let id = Uuid::new_v4(); + let runner = TestRunner::new_with_rng( + Config::default(), + TestRng::from_seed(RngAlgorithm::XorShift, &id.to_bytes_le()), + ); Self { - id: Uuid::new_v4(), + id, url, grade: 1, - runner: TestRunner::deterministic(), - seed: 42, + runner, results: Vec::new(), delay: Duration::from_secs(10), } -- cgit v1.2.3