diff --git a/query_tests2/src/cases.rs b/query_tests2/src/cases.rs new file mode 100644 index 0000000000..2dc4d287e1 --- /dev/null +++ b/query_tests2/src/cases.rs @@ -0,0 +1,204 @@ +use crate::{ChunkStage, TestCase}; + +// TODO: Generate these tests from the files on disk. +// See . + +#[tokio::test] +async fn basic() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/basic.sql", + chunk_stage: ChunkStage::All, + } + .run() + .await; +} + +#[tokio::test] +async fn dedup_and_predicates_parquet() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/dedup_and_predicates_parquet.sql", + chunk_stage: ChunkStage::Parquet, + } + .run() + .await; +} + +#[tokio::test] +async fn dedup_and_predicates_parquet_ingester() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/dedup_and_predicates_parquet_ingester.sql", + chunk_stage: ChunkStage::Ingester, + } + .run() + .await; +} + +#[tokio::test] +async fn duplicates_ingester() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/duplicates_ingester.sql", + chunk_stage: ChunkStage::Ingester, + } + .run() + .await; +} + +#[tokio::test] +async fn duplicates_parquet() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/duplicates_parquet.sql", + chunk_stage: ChunkStage::Parquet, + } + .run() + .await; +} + +#[tokio::test] +async fn duplicates_parquet_many() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/duplicates_parquet_many.sql", + chunk_stage: ChunkStage::Parquet, + } + .run() + .await; +} + +#[tokio::test] +#[ignore] +async fn new_sql_system_tables() { + unimplemented!("Test snapshot might need updating?"); + // test_helpers::maybe_start_logging(); + // + // TestCase { + // input: "cases/in/new_sql_system_tables.sql", + // chunk_stage: ChunkStage::Ingester, + // } + // .run() + // .await; +} + +#[tokio::test] +#[ignore] +async fn periods() { + unimplemented!("See "); + // test_helpers::maybe_start_logging(); + // + // TestCase { + // input: "cases/in/periods.sql", + // chunk_stage: ChunkStage::Ingester, + // } + // .run() + // .await; +} + +#[tokio::test] +async fn pushdown() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/pushdown.sql", + chunk_stage: ChunkStage::Parquet, + } + .run() + .await; +} + +#[tokio::test] +#[ignore] +async fn retention() { + unimplemented!("See "); + // test_helpers::maybe_start_logging(); + // + // TestCase { + // input: "cases/in/retention.sql", + // chunk_stage: ChunkStage::Parquet, + // } + // .run() + // .await; +} + +#[tokio::test] +#[ignore] +async fn selectors() { + unimplemented!("See "); + // test_helpers::maybe_start_logging(); + // + // TestCase { + // input: "cases/in/selectors.sql", + // chunk_stage: ChunkStage::All, + // } + // .run() + // .await; +} + +#[tokio::test] +async fn several_chunks() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/several_chunks.sql", + chunk_stage: ChunkStage::Ingester, + } + .run() + .await; +} + +#[tokio::test] +async fn sql_information_schema() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/sql_information_schema.sql", + chunk_stage: ChunkStage::Ingester, + } + .run() + .await; +} + +#[tokio::test] +async fn timestamps() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/timestamps.sql", + chunk_stage: ChunkStage::Ingester, + } + .run() + .await; +} + +#[tokio::test] +async fn two_chunks() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/two_chunks.sql", + chunk_stage: ChunkStage::Ingester, + } + .run() + .await; +} + +#[tokio::test] +async fn two_chunks_missing_columns() { + test_helpers::maybe_start_logging(); + + TestCase { + input: "cases/in/two_chunks_missing_columns.sql", + chunk_stage: ChunkStage::Ingester, + } + .run() + .await; +} diff --git a/query_tests2/src/lib.rs b/query_tests2/src/lib.rs index 5014ac14d9..27a40583c7 100644 --- a/query_tests2/src/lib.rs +++ b/query_tests2/src/lib.rs @@ -8,207 +8,7 @@ use snafu::{OptionExt, Snafu}; use std::{collections::HashMap, fmt::Debug, fs, path::PathBuf}; use test_helpers_end_to_end::{maybe_skip_integration, MiniCluster, Step, StepTest}; -// TODO: Generate these tests from the files on disk - -#[tokio::test] -async fn basic() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/basic.sql", - chunk_stage: ChunkStage::All, - } - .run() - .await; -} - -#[tokio::test] -async fn dedup_and_predicates_parquet() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/dedup_and_predicates_parquet.sql", - chunk_stage: ChunkStage::Parquet, - } - .run() - .await; -} - -#[tokio::test] -async fn dedup_and_predicates_parquet_ingester() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/dedup_and_predicates_parquet_ingester.sql", - chunk_stage: ChunkStage::Ingester, - } - .run() - .await; -} - -#[tokio::test] -async fn duplicates_ingester() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/duplicates_ingester.sql", - chunk_stage: ChunkStage::Ingester, - } - .run() - .await; -} - -#[tokio::test] -async fn duplicates_parquet() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/duplicates_parquet.sql", - chunk_stage: ChunkStage::Parquet, - } - .run() - .await; -} - -#[tokio::test] -async fn duplicates_parquet_many() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/duplicates_parquet_many.sql", - chunk_stage: ChunkStage::Parquet, - } - .run() - .await; -} - -#[tokio::test] -#[ignore] -async fn new_sql_system_tables() { - unimplemented!("Test snapshot might need updating?"); - // test_helpers::maybe_start_logging(); - // - // TestCase { - // input: "cases/in/new_sql_system_tables.sql", - // chunk_stage: ChunkStage::Ingester, - // } - // .run() - // .await; -} - -#[tokio::test] -#[ignore] -async fn periods() { - unimplemented!("See "); - // test_helpers::maybe_start_logging(); - // - // TestCase { - // input: "cases/in/periods.sql", - // chunk_stage: ChunkStage::Ingester, - // } - // .run() - // .await; -} - -#[tokio::test] -async fn pushdown() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/pushdown.sql", - chunk_stage: ChunkStage::Parquet, - } - .run() - .await; -} - -#[tokio::test] -#[ignore] -async fn retention() { - unimplemented!("See "); - // test_helpers::maybe_start_logging(); - // - // TestCase { - // input: "cases/in/retention.sql", - // chunk_stage: ChunkStage::Parquet, - // } - // .run() - // .await; -} - -#[tokio::test] -#[ignore] -async fn selectors() { - unimplemented!("See "); - // test_helpers::maybe_start_logging(); - // - // TestCase { - // input: "cases/in/selectors.sql", - // chunk_stage: ChunkStage::All, - // } - // .run() - // .await; -} - -#[tokio::test] -async fn several_chunks() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/several_chunks.sql", - chunk_stage: ChunkStage::Ingester, - } - .run() - .await; -} - -#[tokio::test] -async fn sql_information_schema() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/sql_information_schema.sql", - chunk_stage: ChunkStage::Ingester, - } - .run() - .await; -} - -#[tokio::test] -async fn timestamps() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/timestamps.sql", - chunk_stage: ChunkStage::Ingester, - } - .run() - .await; -} - -#[tokio::test] -async fn two_chunks() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/two_chunks.sql", - chunk_stage: ChunkStage::Ingester, - } - .run() - .await; -} - -#[tokio::test] -async fn two_chunks_missing_columns() { - test_helpers::maybe_start_logging(); - - TestCase { - input: "cases/in/two_chunks_missing_columns.sql", - chunk_stage: ChunkStage::Ingester, - } - .run() - .await; -} +mod cases; pub static SETUPS: Lazy>> = Lazy::new(|| { HashMap::from([