summaryrefslogtreecommitdiff
path: root/rust/src
diff options
context:
space:
mode:
authorArnaud Bailly <arnaud.bailly@iohk.io>2024-10-09 08:02:11 +0200
committerArnaud Bailly <arnaud.bailly@iohk.io>2024-10-09 08:02:11 +0200
commit67502b58c733b755f658f526aff0536828cd7757 (patch)
tree6651bfb0081a8073af557db346aef96e9d8d3055 /rust/src
parent2ae4f8552b7101e118dc0a46797bc6ba6945a7b1 (diff)
downloadlambda-nantes-67502b58c733b755f658f526aff0536828cd7757.tar.gz
Derive seed for Rng from client id
Diffstat (limited to 'rust/src')
-rw-r--r--rust/src/web.rs13
1 files 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<TestResult>,
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),
}