mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-09-23 13:16:27 +00:00
Improve diffing
This commit is contained in:
@ -42,3 +42,4 @@ tracing = "0.1.41"
|
||||
tracing-subscriber = "0.3.19"
|
||||
tracing-trace = { version = "0.1.0", path = "../tracing-trace" }
|
||||
uuid = { version = "1.17.0", features = ["v7", "serde"] }
|
||||
similar-asserts = "1.7.0"
|
||||
|
@ -129,7 +129,7 @@ async fn execute_run(
|
||||
run_number: u16,
|
||||
) -> anyhow::Result<tokio::task::JoinHandle<anyhow::Result<std::fs::File>>> {
|
||||
delete_db().await;
|
||||
|
||||
|
||||
let meilisearch = start_meili(
|
||||
meili_client,
|
||||
master_key,
|
||||
|
@ -7,6 +7,7 @@ use anyhow::{bail, Context as _};
|
||||
use reqwest::StatusCode;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value;
|
||||
use similar_asserts::SimpleDiff;
|
||||
|
||||
use crate::common::assets::{fetch_asset, Asset};
|
||||
use crate::common::client::{Client, Method};
|
||||
@ -92,8 +93,8 @@ async fn run_batch(
|
||||
|
||||
let mut tasks = Vec::with_capacity(batch.len());
|
||||
for batch in batch {
|
||||
let client2 = Arc::clone(&client);
|
||||
let assets2 = Arc::clone(&assets);
|
||||
let client2 = Arc::clone(client);
|
||||
let assets2 = Arc::clone(assets);
|
||||
tasks.push(tokio::spawn(async move {
|
||||
run(&client2, &batch, &assets2, asset_folder, return_response).await
|
||||
}));
|
||||
@ -112,7 +113,7 @@ async fn run_batch(
|
||||
match sync {
|
||||
SyncMode::DontWait => {}
|
||||
SyncMode::WaitForResponse => {}
|
||||
SyncMode::WaitForTask => wait_for_tasks(&client).await?,
|
||||
SyncMode::WaitForTask => wait_for_tasks(client).await?,
|
||||
}
|
||||
|
||||
Ok(outputs)
|
||||
@ -226,7 +227,12 @@ pub async fn run(
|
||||
.context("could not deserialize response as JSON")
|
||||
.context("parsing response when checking expected response")?;
|
||||
if &response != expected_response {
|
||||
bail!("unexpected response: got '{response}', expected '{expected_response}'");
|
||||
let expected_pretty = serde_json::to_string_pretty(expected_response)
|
||||
.context("serializing expected response as pretty JSON")?;
|
||||
let response_pretty = serde_json::to_string_pretty(&response)
|
||||
.context("serializing response as pretty JSON")?;
|
||||
let diff = SimpleDiff::from_str(&expected_pretty, &response_pretty, "expected", "got");
|
||||
bail!("unexpected response:\n{diff}");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,8 @@ impl VersionOrLatest {
|
||||
pub fn binary_path(&self, asset_folder: &str) -> anyhow::Result<Option<PathBuf>> {
|
||||
match self {
|
||||
VersionOrLatest::Version(version) => {
|
||||
let mut asset_folder: PathBuf = asset_folder.parse().context("parsing asset folder")?;
|
||||
let mut asset_folder: PathBuf =
|
||||
asset_folder.parse().context("parsing asset folder")?;
|
||||
let arch = get_arch()?;
|
||||
let local_filename = format!("meilisearch-{version}-{arch}");
|
||||
asset_folder.push(local_filename);
|
||||
|
@ -124,7 +124,8 @@ impl TestWorkload {
|
||||
&[String::from("--experimental-dumpless-upgrade")],
|
||||
&self.name,
|
||||
binary_path.as_deref(),
|
||||
).await?;
|
||||
)
|
||||
.await?;
|
||||
tracing::info!("Upgraded to {version}");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user