|
4 | 4 | //! between regular DataFusion and distributed DataFusion systems. |
5 | 5 | //! |
6 | 6 | //! ## Features |
7 | | -//! - Automatic cluster setup and teardown |
8 | | -//! - Automatic TPC-H data generation |
9 | | -//! - Automatic dependency installation |
| 7 | +//! - Automatic cluster setup and teardown on test ports 40400, 40401, ... |
| 8 | +//! - Automatic installation of tpchgen-cli if needed to generate TPC-H scale factor 1 data at /tmp/tpch_s1 if not present |
| 9 | +//! - Automatic installation of Python Flight SQL packages if needed |
| 10 | +//! - Automatic generation of a reusable Python script to execute queries on the cluster |
10 | 11 | //! - Complete result comparison with tolerance |
11 | 12 | //! - CI-ready with detailed reporting |
12 | | -//! - Fast execution with minimal output (only top 2 rows for large results) |
| 13 | +//! - Fast execution with minimal output (only top 2 rows for large results) and verbose output for debugging specific queries |
13 | 14 | //! - Configurable verbosity for debugging specific queries |
14 | 15 | //! - Configurable timing parameters for cluster startup and polling |
15 | 16 | //! - Modular design with reusable helper functions |
16 | 17 | //! - Safe concurrent execution (only affects designated test ports) |
17 | 18 | //! |
18 | 19 | //! ## Usage |
19 | 20 | //! |
20 | | -//! Just run the tests - everything is automated: |
21 | 21 | //! ```bash |
22 | 22 | //! # Run all TPC-H validation tests |
23 | 23 | //! cargo test --test tpch_validation test_tpch_validation_all_queries -- --ignored --nocapture |
|
28 | 28 | //! # Enable verbose output for debugging specific queries |
29 | 29 | //! # Modify the should_be_verbose() function in utils.rs to return true for specific queries |
30 | 30 | //! ``` |
31 | | -//! |
32 | | -//! ## What the tests do automatically: |
33 | | -//! 1. Clean up any existing processes on test ports 40400-40402 only |
34 | | -//! 2. Install tpchgen-cli if not available |
35 | | -//! 3. Generate TPC-H scale factor 1 data at /tmp/tpch_s1 if not present |
36 | | -//! 4. Start distributed cluster (1 proxy + 2 workers) |
37 | | -//! 5. Run validation tests comparing DataFusion vs Distributed for all 22 TPC-H queries in ./tpch/queries/ |
38 | | -//! 6. Clean up test cluster processes (without affecting other instances) |
39 | | -//! |
40 | 31 | use std::time::Instant; |
41 | 32 |
|
42 | 33 | mod common; |
@@ -132,7 +123,7 @@ async fn test_tpch_validation_all_queries() { |
132 | 123 | /// This test is marked with #[ignore] - use `cargo test --ignored` to run it. |
133 | 124 | /// Modify the query_name to test different queries. |
134 | 125 | /// |
135 | | -/// To enable verbose output for debugging, modify the `should_be_verbose` function in utils.rs. |
| 126 | +/// To enable verbose output for debugging, modify the `should_be_verbose` function in common/mod.rs. |
136 | 127 | #[tokio::test] |
137 | 128 | #[ignore] |
138 | 129 | async fn test_tpch_validation_single_query() { |
|
0 commit comments