@@ -52,6 +52,8 @@ async fn main() -> anyhow::Result<()> {
5252 let mpb = mpb. clone ( ) ;
5353
5454 async move {
55+ let path = path. canonicalize ( ) ?;
56+
5557 let mut errors = vec ! [ ] ;
5658 let factory = Arc :: new ( VortexFormatFactory :: new ( ) ) ;
5759 let session_state_builder = SessionStateBuilder :: new ( )
@@ -69,61 +71,68 @@ async fn main() -> anyhow::Result<()> {
6971 . file_name ( )
7072 . vortex_expect ( "must be file" )
7173 . to_string_lossy ( ) ;
72- let records = parse_file ( path. canonicalize ( ) ?) ?;
73-
74- let df_pb = mpb. add ( ProgressBar :: new ( records. len ( ) as u64 ) ) ;
75- df_pb. set_message ( format ! ( "DF {filename}" ) ) ;
76- df_pb. set_style ( ProgressStyle :: default_spinner ( ) ) ;
77-
78- let mut df_runner = Runner :: new ( || async {
79- Ok ( DataFusion :: new (
80- session. clone ( ) ,
81- path. clone ( ) ,
82- df_pb. clone ( ) ,
83- ) )
84- } ) ;
85-
86- df_runner. add_label ( "datafusion" ) ;
87- df_runner. with_column_validator ( strict_column_validator) ;
88- df_runner. with_normalizer ( value_normalizer) ;
89- df_runner. with_validator ( df_value_validator) ;
90-
91- for record in records. iter ( ) {
92- if let Record :: Halt { .. } = record {
93- break ;
74+ let records = parse_file ( path. as_path ( ) ) ?;
75+
76+ if !path. components ( ) . any ( |comp| comp. as_os_str ( ) == "duckdb" ) {
77+ let df_pb = mpb. add ( ProgressBar :: new ( records. len ( ) as u64 ) ) ;
78+ df_pb. set_message ( format ! ( "DF {filename}" ) ) ;
79+ df_pb. set_style ( ProgressStyle :: default_spinner ( ) ) ;
80+
81+ let mut df_runner = Runner :: new ( || async {
82+ Ok ( DataFusion :: new (
83+ session. clone ( ) ,
84+ path. clone ( ) ,
85+ df_pb. clone ( ) ,
86+ ) )
87+ } ) ;
88+
89+ df_runner. add_label ( "datafusion" ) ;
90+ df_runner. with_column_validator ( strict_column_validator) ;
91+ df_runner. with_normalizer ( value_normalizer) ;
92+ df_runner. with_validator ( df_value_validator) ;
93+
94+ for record in records. iter ( ) {
95+ if let Record :: Halt { .. } = record {
96+ break ;
97+ }
98+
99+ if let Err ( e) = df_runner. run_async ( record. clone ( ) ) . await {
100+ errors. push ( format ! ( "DF Failure: {e}" ) ) ;
101+ }
94102 }
95103
96- if let Err ( e) = df_runner. run_async ( record. clone ( ) ) . await {
97- errors. push ( format ! ( "DF Failure: {e}" ) ) ;
98- }
104+ df_pb. finish_and_clear ( ) ;
99105 }
100106
101- df_pb. finish_and_clear ( ) ;
102-
103- let duckdb_pb = mpb. add ( ProgressBar :: new ( records. len ( ) as u64 ) ) ;
104- duckdb_pb. set_message ( format ! ( "DuckDB {filename}" ) ) ;
105-
106- let mut duckdb_runner = Runner :: new ( || async {
107- DuckDB :: try_new ( duckdb_pb. clone ( ) )
108- . map_err ( |e| DuckDBTestError :: Other ( e. to_string ( ) ) )
109- } ) ;
110-
111- duckdb_runner. add_label ( "duckdb" ) ;
112- duckdb_runner. with_column_validator ( strict_column_validator) ;
113- duckdb_runner. with_normalizer ( value_normalizer) ;
114-
115- for record in records. iter ( ) {
116- if let Record :: Halt { .. } = record {
117- break ;
107+ if !path
108+ . components ( )
109+ . any ( |comp| comp. as_os_str ( ) == "datafusion" )
110+ {
111+ let duckdb_pb = mpb. add ( ProgressBar :: new ( records. len ( ) as u64 ) ) ;
112+ duckdb_pb. set_message ( format ! ( "DuckDB {filename}" ) ) ;
113+
114+ let mut duckdb_runner = Runner :: new ( || async {
115+ DuckDB :: try_new ( duckdb_pb. clone ( ) )
116+ . map_err ( |e| DuckDBTestError :: Other ( e. to_string ( ) ) )
117+ } ) ;
118+
119+ duckdb_runner. add_label ( "duckdb" ) ;
120+ duckdb_runner. with_column_validator ( strict_column_validator) ;
121+ duckdb_runner. with_normalizer ( value_normalizer) ;
122+
123+ for record in records. iter ( ) {
124+ if let Record :: Halt { .. } = record {
125+ break ;
126+ }
127+
128+ if let Err ( e) = duckdb_runner. run_async ( record. clone ( ) ) . await {
129+ errors. push ( format ! ( "DuckDB Failure: {e}" ) ) ;
130+ }
118131 }
119132
120- if let Err ( e) = duckdb_runner. run_async ( record. clone ( ) ) . await {
121- errors. push ( format ! ( "DuckDB Failure: {e}" ) ) ;
122- }
133+ duckdb_pb. finish_and_clear ( ) ;
123134 }
124135
125- duckdb_pb. finish_and_clear ( ) ;
126-
127136 anyhow:: Ok ( errors)
128137 }
129138 } )
0 commit comments