Skip to content

Commit

Permalink
Use file lock for serial tests
Browse files Browse the repository at this point in the history
  • Loading branch information
rdettai committed Aug 23, 2024
1 parent d43f013 commit 67df8ae
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 46 deletions.
11 changes: 11 additions & 0 deletions quickwit/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion quickwit/quickwit-metastore/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ futures = { workspace = true }
md5 = { workspace = true }
mockall = { workspace = true }
rand = { workspace = true }
serial_test = "3.1.0"
serial_test = { version = "3.1.1", features = ["file_locks"] }
tempfile = { workspace = true }
tracing-subscriber = { workspace = true }

Expand Down
90 changes: 45 additions & 45 deletions quickwit/quickwit-metastore/src/tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -189,42 +189,42 @@ macro_rules! metastore_test_suite {
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_create_index_with_sources() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_create_index_with_sources::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_update_retention_policy() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_update_retention_policy::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_update_search_settings() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_update_search_settings::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_update_doc_mapping() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_update_doc_mapping::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_update_indexing_settings() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_update_indexing_settings::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_create_index_enforces_index_id_maximum_length() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_create_index_enforces_index_id_maximum_length::<
Expand All @@ -234,42 +234,42 @@ macro_rules! metastore_test_suite {
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_index_exists() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_index_exists::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_index_metadata() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_index_metadata::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_indexes_metadata() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_indexes_metadata::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_indexes() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_list_indexes::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_all_indexes() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_list_all_indexes::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_delete_index() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::index::test_metastore_delete_index::<$metastore_type>().await;
Expand All @@ -284,14 +284,14 @@ macro_rules! metastore_test_suite {
// - delete_splits

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_publish_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_publish_splits::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_publish_splits_concurrency() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_publish_splits_concurrency::<$metastore_type>(
Expand All @@ -300,7 +300,7 @@ macro_rules! metastore_test_suite {
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_publish_splits_empty_splits_array_is_allowed() {
$crate::tests::split::test_metastore_publish_splits_empty_splits_array_is_allowed::<
$metastore_type,
Expand All @@ -309,137 +309,137 @@ macro_rules! metastore_test_suite {
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_replace_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_replace_splits::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_mark_splits_for_deletion() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_mark_splits_for_deletion::<$metastore_type>()
.await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_delete_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_delete_splits::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_stream_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::list_splits::test_metastore_stream_splits::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_all_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::list_splits::test_metastore_list_all_splits::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::list_splits::test_metastore_list_splits::<$metastore_type>().await;
}


#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_splits_by_node() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::list_splits::test_metastore_list_splits_by_node_id::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_split_update_timestamp() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_split_update_timestamp::<$metastore_type>()
.await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_add_source() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::source::test_metastore_add_source::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_toggle_source() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::source::test_metastore_toggle_source::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_delete_source() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::source::test_metastore_delete_source::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_reset_checkpoint() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::source::test_metastore_reset_checkpoint::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_create_delete_task() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::delete_task::test_metastore_create_delete_task::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_last_delete_opstamp() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::delete_task::test_metastore_last_delete_opstamp::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_delete_index_with_tasks() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::delete_task::test_metastore_delete_index_with_tasks::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_delete_tasks() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::delete_task::test_metastore_list_delete_tasks::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_stale_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::list_splits::test_metastore_list_stale_splits::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_update_splits_delete_opstamp() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_update_splits_delete_opstamp::<$metastore_type>()
.await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_stage_splits() {
let _ = tracing_subscriber::fmt::try_init();
$crate::tests::split::test_metastore_stage_splits::<$metastore_type>().await;
Expand All @@ -448,69 +448,69 @@ macro_rules! metastore_test_suite {
/// Shard API tests

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_open_shards() {
$crate::tests::shard::test_metastore_open_shards::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_acquire_shards() {
$crate::tests::shard::test_metastore_acquire_shards::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_shards() {
$crate::tests::shard::test_metastore_list_shards::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_delete_shards() {
$crate::tests::shard::test_metastore_delete_shards::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_apply_checkpoint_delta_v2_single_shard() {
$crate::tests::shard::test_metastore_apply_checkpoint_delta_v2_single_shard::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_apply_checkpoint_delta_v2_multi_shards() {
$crate::tests::shard::test_metastore_apply_checkpoint_delta_v2_multi_shards::<$metastore_type>().await;
}

/// Index Template API tests

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_create_index_template() {
$crate::tests::template::test_metastore_create_index_template::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_get_index_template() {
$crate::tests::template::test_metastore_get_index_template::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_find_index_template_matches() {
$crate::tests::template::test_metastore_find_index_template_matches::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_list_index_templates() {
$crate::tests::template::test_metastore_list_index_templates::<$metastore_type>().await;
}

#[tokio::test]
#[serial_test::serial]
#[serial_test::file_serial]
async fn test_metastore_delete_index_templates() {
$crate::tests::template::test_metastore_delete_index_templates::<$metastore_type>().await;
}
Expand Down

0 comments on commit 67df8ae

Please sign in to comment.