@@ -579,6 +579,12 @@ mod tests {
579579
580580 #[ tokio:: test]
581581 async fn s3_object_store_builder_default ( ) -> Result < ( ) > {
582+ if let Err ( DataFusionError :: Execution ( e) ) = check_aws_envs ( ) . await {
583+ // Skip test if AWS envs are not set
584+ eprintln ! ( "{e}" ) ;
585+ return Ok ( ( ) ) ;
586+ }
587+
582588 let location = "s3://bucket/path/FAKE/file.parquet" ;
583589 // Set it to a non-existent file to avoid reading the default configuration file
584590 std:: env:: set_var ( "AWS_CONFIG_FILE" , "data/aws.config" ) ;
@@ -733,6 +739,11 @@ mod tests {
733739
734740 #[ tokio:: test]
735741 async fn s3_object_store_builder_resolves_region_when_none_provided ( ) -> Result < ( ) > {
742+ if let Err ( DataFusionError :: Execution ( e) ) = check_aws_envs ( ) . await {
743+ // Skip test if AWS envs are not set
744+ eprintln ! ( "{e}" ) ;
745+ return Ok ( ( ) ) ;
746+ }
736747 let expected_region = "eu-central-1" ;
737748 let location = "s3://test-bucket/path/file.parquet" ;
738749 // Set it to a non-existent file to avoid reading the default configuration file
@@ -759,6 +770,12 @@ mod tests {
759770 #[ tokio:: test]
760771 async fn s3_object_store_builder_overrides_region_when_resolve_region_enabled (
761772 ) -> Result < ( ) > {
773+ if let Err ( DataFusionError :: Execution ( e) ) = check_aws_envs ( ) . await {
774+ // Skip test if AWS envs are not set
775+ eprintln ! ( "{e}" ) ;
776+ return Ok ( ( ) ) ;
777+ }
778+
762779 let original_region = "us-east-1" ;
763780 let expected_region = "eu-central-1" ; // This should be the auto-detected region
764781 let location = "s3://test-bucket/path/file.parquet" ;
@@ -860,4 +877,19 @@ mod tests {
860877 . unwrap ( ) ;
861878 table_options
862879 }
880+
881+ async fn check_aws_envs ( ) -> Result < ( ) > {
882+ let aws_envs = [
883+ "AWS_ACCESS_KEY_ID" ,
884+ "AWS_SECRET_ACCESS_KEY" ,
885+ "AWS_REGION" ,
886+ "AWS_ALLOW_HTTP" ,
887+ ] ;
888+ for aws_env in aws_envs {
889+ std:: env:: var ( aws_env) . map_err ( |_| {
890+ exec_datafusion_err ! ( "aws envs not set, skipping s3 tests" )
891+ } ) ?;
892+ }
893+ Ok ( ( ) )
894+ }
863895}
0 commit comments