Skip to content

Commit 6766309

Browse files
committed
Move all test utils to src/ and hide them behind an "integration" feature. This way, other crates and integration tests as well can use it
1 parent 84026d6 commit 6766309

File tree

18 files changed

+65
-114
lines changed

18 files changed

+65
-114
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
with:
3232
lfs: true
3333
- uses: ./.github/actions/setup
34-
- run: cargo test
34+
- run: cargo test --features integration
3535

3636
format-check:
3737
runs-on: ubuntu-latest

Cargo.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,13 @@ prost = "0.13.5"
2323
rand = "0.8.5"
2424
object_store = "0.12.3"
2525

26+
# integration_tests deps
27+
insta = { version = "1.43.1", features = ["filters"], optional = true }
28+
29+
[features]
30+
integration = [
31+
"insta"
32+
]
33+
2634
[dev-dependencies]
2735
insta = { version = "1.43.1", features = ["filters"] }

src/flight_service/stream_partitioner_registry.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ impl StreamPartitionerRegistry {
3535
#[cfg(test)]
3636
mod tests {
3737
use super::*;
38-
use crate::test_utils::MockExec;
38+
use crate::test_utils::mock_exec::MockExec;
3939
use datafusion::arrow::array::{RecordBatch, UInt32Array};
4040
use datafusion::arrow::datatypes::{DataType, Field, Schema};
4141
use datafusion::execution::TaskContext;

src/lib.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@ mod common;
33
mod composed_extension_codec;
44
mod errors;
55
mod flight_service;
6+
mod physical_optimizer;
67
mod plan;
7-
#[cfg(test)]
8-
mod test_utils;
9-
10-
pub mod physical_optimizer;
11-
pub mod stage;
12-
pub mod task;
8+
mod stage;
9+
mod task;
1310
mod user_provided_codec;
1411

12+
#[cfg(any(feature = "integration", test))]
13+
pub mod test_utils;
14+
1515
pub use channel_manager::{BoxCloneSyncChannel, ChannelManager, ChannelResolver};
1616
pub use flight_service::{ArrowFlightEndpoint, SessionBuilder};
17+
pub use physical_optimizer::DistributedPhysicalOptimizerRule;
1718
pub use plan::ArrowFlightReadExec;
19+
pub use stage::{display_stage_graphviz, ExecutionStage};
1820
pub use user_provided_codec::{add_user_codec, with_user_codec};

src/physical_optimizer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ impl DistributedPhysicalOptimizerRule {
153153
mod tests {
154154
use crate::assert_snapshot;
155155
use crate::physical_optimizer::DistributedPhysicalOptimizerRule;
156-
use crate::test_utils::register_parquet_tables;
156+
use crate::test_utils::parquet::register_parquet_tables;
157157
use datafusion::error::DataFusionError;
158158
use datafusion::execution::SessionStateBuilder;
159159
use datafusion::physical_plan::displayable;

src/test_utils/insta.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
use datafusion::common::utils::get_available_parallelism;
12
use std::env;
23

4+
pub use insta;
5+
36
#[macro_export]
47
macro_rules! assert_snapshot {
58
($($arg:tt)*) => {
6-
crate::test_utils::insta::settings().bind(|| {
7-
insta::assert_snapshot!($($arg)*);
9+
$crate::test_utils::insta::settings().bind(|| {
10+
$crate::test_utils::insta::insta::assert_snapshot!($($arg)*);
811
})
912
};
1013
}
@@ -15,6 +18,10 @@ pub fn settings() -> insta::Settings {
1518
let cwd = env::current_dir().unwrap();
1619
let cwd = cwd.to_str().unwrap();
1720
settings.add_filter(cwd.trim_start_matches("/"), "");
21+
let cpus = get_available_parallelism();
22+
settings.add_filter(&format!(", {cpus}\\)"), ", CPUs)");
23+
settings.add_filter(&format!("\\({cpus}\\)"), "(CPUs)");
24+
settings.add_filter(&format!("input_partitions={cpus}"), "input_partitions=CPUs");
1825
settings.add_filter(
1926
r"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
2027
"UUID",

tests/common/localhost.rs renamed to src/test_utils/localhost.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1+
use crate::{
2+
ArrowFlightEndpoint, BoxCloneSyncChannel, ChannelManager, ChannelResolver, SessionBuilder,
3+
};
14
use arrow_flight::flight_service_server::FlightServiceServer;
25
use async_trait::async_trait;
36
use datafusion::common::DataFusionError;
47
use datafusion::execution::SessionStateBuilder;
58
use datafusion::prelude::SessionContext;
69
use datafusion::{common::runtime::JoinSet, prelude::SessionConfig};
7-
use datafusion_distributed::{
8-
ArrowFlightEndpoint, BoxCloneSyncChannel, ChannelManager, ChannelResolver, SessionBuilder,
9-
};
1010
use std::error::Error;
1111
use std::sync::atomic::AtomicUsize;
1212
use std::sync::Arc;

src/test_utils/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
pub mod insta;
2-
mod mock_exec;
3-
mod parquet;
4-
5-
pub use mock_exec::MockExec;
6-
pub use parquet::register_parquet_tables;
2+
pub mod localhost;
3+
pub mod mock_exec;
4+
pub mod parquet;
5+
pub mod plan;
6+
pub mod tpch;

tests/common/plan.rs renamed to src/test_utils/plan.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1+
use crate::{ArrowFlightReadExec, DistributedPhysicalOptimizerRule};
12
use datafusion::common::plan_err;
23
use datafusion::common::tree_node::{Transformed, TreeNode};
34
use datafusion::error::DataFusionError;
45
use datafusion::physical_expr::Partitioning;
56
use datafusion::physical_plan::aggregates::{AggregateExec, AggregateMode};
67
use datafusion::physical_plan::ExecutionPlan;
7-
use datafusion_distributed::physical_optimizer::DistributedPhysicalOptimizerRule;
8-
use datafusion_distributed::ArrowFlightReadExec;
98
use std::sync::Arc;
109

1110
pub fn distribute_aggregate(
File renamed without changes.

0 commit comments

Comments
 (0)