From 8240b762677dec2ce270877c1534bc72b5da97eb Mon Sep 17 00:00:00 2001 From: Mubelotix Date: Mon, 25 Aug 2025 11:43:11 +0200 Subject: [PATCH] Create test workload --- crates/xtask/src/bench/command.rs | 4 ++-- crates/xtask/src/bench/dashboard.rs | 2 +- crates/xtask/src/bench/meili_process.rs | 6 +++--- crates/xtask/src/bench/mod.rs | 4 +--- crates/xtask/src/bench/workload.rs | 8 +++++--- crates/xtask/src/{bench => common}/assets.rs | 0 crates/xtask/src/{bench => common}/client.rs | 0 crates/xtask/src/common/mod.rs | 2 ++ crates/xtask/src/test/mod.rs | 2 ++ crates/xtask/src/test/workload.rs | 12 ++++++++++++ 10 files changed, 28 insertions(+), 12 deletions(-) rename crates/xtask/src/{bench => common}/assets.rs (100%) rename crates/xtask/src/{bench => common}/client.rs (100%) create mode 100644 crates/xtask/src/test/workload.rs diff --git a/crates/xtask/src/bench/command.rs b/crates/xtask/src/bench/command.rs index 0f0b5d213..2b960ee81 100644 --- a/crates/xtask/src/bench/command.rs +++ b/crates/xtask/src/bench/command.rs @@ -5,8 +5,8 @@ use std::io::Read as _; use anyhow::{bail, Context as _}; use serde::Deserialize; -use super::assets::{fetch_asset, Asset}; -use super::client::{Client, Method}; +use crate::common::assets::{fetch_asset, Asset}; +use crate::common::client::{Client, Method}; #[derive(Clone, Deserialize)] pub struct Command { diff --git a/crates/xtask/src/bench/dashboard.rs b/crates/xtask/src/bench/dashboard.rs index 67353f7bb..a3600a5ec 100644 --- a/crates/xtask/src/bench/dashboard.rs +++ b/crates/xtask/src/bench/dashboard.rs @@ -7,9 +7,9 @@ use tokio::task::AbortHandle; use tracing_trace::processor::span_stats::CallStats; use uuid::Uuid; -use super::client::Client; use super::env_info; use super::workload::Workload; +use crate::common::client::Client; #[derive(Debug, Clone)] pub enum DashboardClient { diff --git a/crates/xtask/src/bench/meili_process.rs b/crates/xtask/src/bench/meili_process.rs index 2aff679fc..50c690977 100644 --- a/crates/xtask/src/bench/meili_process.rs +++ b/crates/xtask/src/bench/meili_process.rs @@ -5,9 +5,9 @@ use anyhow::{bail, Context as _}; use tokio::process::Command; use tokio::time; -use super::assets::Asset; -use super::client::Client; use super::workload::Workload; +use crate::common::assets::Asset; +use crate::common::client::Client; pub async fn kill(mut meilisearch: tokio::process::Child) { let Some(id) = meilisearch.id() else { return }; @@ -125,7 +125,7 @@ async fn wait_for_health( fn health_command() -> super::command::Command { super::command::Command { route: "/health".into(), - method: super::client::Method::Get, + method: crate::common::client::Method::Get, body: Default::default(), synchronous: super::command::SyncMode::WaitForResponse, } diff --git a/crates/xtask/src/bench/mod.rs b/crates/xtask/src/bench/mod.rs index f85819cae..ea877a01e 100644 --- a/crates/xtask/src/bench/mod.rs +++ b/crates/xtask/src/bench/mod.rs @@ -1,5 +1,3 @@ -mod assets; -mod client; mod command; mod dashboard; mod env_info; @@ -13,8 +11,8 @@ use std::path::PathBuf; use anyhow::Context; use clap::Parser; -use self::client::Client; use self::workload::Workload; +use crate::common::client::Client; pub fn default_http_addr() -> String { "127.0.0.1:7700".to_string() diff --git a/crates/xtask/src/bench/workload.rs b/crates/xtask/src/bench/workload.rs index a80e4a273..65ad1630a 100644 --- a/crates/xtask/src/bench/workload.rs +++ b/crates/xtask/src/bench/workload.rs @@ -10,13 +10,15 @@ use serde_json::json; use tokio::task::JoinHandle; use uuid::Uuid; -use super::assets::Asset; -use super::client::Client; use super::command::SyncMode; use super::dashboard::DashboardClient; use super::BenchDeriveArgs; -use crate::bench::{assets, meili_process}; +use crate::bench::meili_process; +use crate::common::assets::{self, Asset}; +use crate::common::client::Client; +/// A bench workload. +/// Not to be confused with [a test workload](crate::test::workload::Workload). #[derive(Deserialize)] pub struct Workload { pub name: String, diff --git a/crates/xtask/src/bench/assets.rs b/crates/xtask/src/common/assets.rs similarity index 100% rename from crates/xtask/src/bench/assets.rs rename to crates/xtask/src/common/assets.rs diff --git a/crates/xtask/src/bench/client.rs b/crates/xtask/src/common/client.rs similarity index 100% rename from crates/xtask/src/bench/client.rs rename to crates/xtask/src/common/client.rs diff --git a/crates/xtask/src/common/mod.rs b/crates/xtask/src/common/mod.rs index 3234dd54a..3f8feb1a2 100644 --- a/crates/xtask/src/common/mod.rs +++ b/crates/xtask/src/common/mod.rs @@ -1,2 +1,4 @@ pub mod args; +pub mod assets; +pub mod client; pub mod logs; diff --git a/crates/xtask/src/test/mod.rs b/crates/xtask/src/test/mod.rs index b3f4fe589..ce77a8726 100644 --- a/crates/xtask/src/test/mod.rs +++ b/crates/xtask/src/test/mod.rs @@ -2,6 +2,8 @@ use clap::Parser; use crate::common::{args::CommonArgs, logs::setup_logs}; +mod workload; + /// Run tests from a workload #[derive(Parser, Debug)] pub struct TestDeriveArgs { diff --git a/crates/xtask/src/test/workload.rs b/crates/xtask/src/test/workload.rs new file mode 100644 index 000000000..1063d6d89 --- /dev/null +++ b/crates/xtask/src/test/workload.rs @@ -0,0 +1,12 @@ +use std::collections::BTreeMap; +use serde::Deserialize; + +use crate::common::assets::Asset; + +/// A test workload. +/// Not to be confused with [a bench workload](crate::bench::workload::Workload). +#[derive(Deserialize)] +pub struct Workload { + pub name: String, + pub assets: BTreeMap, +}