diff --git a/datafusion/core/src/test_util/parquet.rs b/datafusion/core/src/test_util/parquet.rs index fc6b4ad9d0b4e..685ed14777b40 100644 --- a/datafusion/core/src/test_util/parquet.rs +++ b/datafusion/core/src/test_util/parquet.rs @@ -103,7 +103,17 @@ impl TestParquetFile { let size = std::fs::metadata(&path)?.len() as usize; - let canonical_path = path.canonicalize()?; + let mut canonical_path = path.canonicalize()?; + + if cfg!(target_os = "windows") { + canonical_path = canonical_path + .to_str() + .unwrap() + .replace("\\", "/") + .strip_prefix("//?/") + .unwrap() + .into(); + }; let object_store_url = ListingTableUrl::parse(canonical_path.to_str().unwrap_or_default())? diff --git a/datafusion/core/tests/parquet/filter_pushdown.rs b/datafusion/core/tests/parquet/filter_pushdown.rs index 8def192f9331d..02fb59740493f 100644 --- a/datafusion/core/tests/parquet/filter_pushdown.rs +++ b/datafusion/core/tests/parquet/filter_pushdown.rs @@ -26,6 +26,8 @@ //! select * from data limit 10; //! ``` +use std::path::Path; + use arrow::compute::concat_batches; use arrow::record_batch::RecordBatch; use datafusion::physical_plan::collect; @@ -67,7 +69,7 @@ fn generate_file(tempdir: &TempDir, props: WriterProperties) -> TestParquetFile async fn single_file() { // Only create the parquet file once as it is fairly large - let tempdir = TempDir::new().unwrap(); + let tempdir = TempDir::new_in(Path::new(".")).unwrap(); // Set row group size smaller so can test with fewer rows let props = WriterProperties::builder() .set_max_row_group_size(1024) @@ -223,7 +225,7 @@ async fn single_file() { #[tokio::test] async fn single_file_small_data_pages() { - let tempdir = TempDir::new().unwrap(); + let tempdir = TempDir::new_in(Path::new(".")).unwrap(); // Set low row count limit to improve page filtering let props = WriterProperties::builder() diff --git a/datafusion/core/tests/parquet/mod.rs b/datafusion/core/tests/parquet/mod.rs index 3f68222a2ce3c..46be2433116a4 100644 --- a/datafusion/core/tests/parquet/mod.rs +++ b/datafusion/core/tests/parquet/mod.rs @@ -45,7 +45,6 @@ use tempfile::NamedTempFile; mod custom_reader; mod external_access_plan; mod file_statistics; -#[cfg(not(target_family = "windows"))] mod filter_pushdown; mod page_pruning; mod row_group_pruning;