diff --git a/src/bin_compare.rs b/src/bin_compare.rs index 40f0991c..4c1216b0 100644 --- a/src/bin_compare.rs +++ b/src/bin_compare.rs @@ -39,14 +39,14 @@ async fn main_body() -> Result<(), Box> { let args = std::env::args().skip(1); if args.is_empty() { let org_contents = read_stdin_to_string()?; - if let Ok(true) = run_anonymous_compare(org_contents) { + if run_anonymous_compare(org_contents).await? { } else { Err("Diff results do not match.")?; } Ok(()) } else { for arg in args { - if run_compare_on_file(arg)? { + if run_compare_on_file(arg).await? { } else { Err("Diff results do not match.")?; } diff --git a/src/bin_foreign_document_test.rs b/src/bin_foreign_document_test.rs index ad9665c1..ccd7e6c4 100644 --- a/src/bin_foreign_document_test.rs +++ b/src/bin_foreign_document_test.rs @@ -222,7 +222,7 @@ impl TestConfig { impl SingleFile { async fn run_test(self) -> Result { let _permit = TEST_PERMITS.acquire().await.unwrap(); - let result = silent_compare_on_file(&self.file_path); + let result = silent_compare_on_file(&self.file_path).await; Ok(SingleFileResult { name: self.name, file_path: self.file_path, diff --git a/src/compare/compare.rs b/src/compare/compare.rs index d58d5de4..c9aff87d 100644 --- a/src/compare/compare.rs +++ b/src/compare/compare.rs @@ -12,33 +12,33 @@ use crate::context::LocalFileAccessInterface; use crate::parser::parse_file_with_settings; use crate::parser::parse_with_settings; -pub fn run_anonymous_compare>( +pub async fn run_anonymous_compare>( org_contents: P, ) -> Result> { - run_anonymous_compare_with_settings(org_contents, &GlobalSettings::default(), false) + run_anonymous_compare_with_settings(org_contents, &GlobalSettings::default(), false).await } -pub fn run_compare_on_file>( +pub async fn run_compare_on_file>( org_path: P, ) -> Result> { - run_compare_on_file_with_settings(org_path, &GlobalSettings::default(), false) + run_compare_on_file_with_settings(org_path, &GlobalSettings::default(), false).await } -pub fn silent_anonymous_compare>( +pub async fn silent_anonymous_compare>( org_contents: P, ) -> Result> { - run_anonymous_compare_with_settings(org_contents, &GlobalSettings::default(), true) + run_anonymous_compare_with_settings(org_contents, &GlobalSettings::default(), true).await } -pub fn silent_compare_on_file>( +pub async fn silent_compare_on_file>( org_path: P, ) -> Result> { - run_compare_on_file_with_settings(org_path, &GlobalSettings::default(), true) + run_compare_on_file_with_settings(org_path, &GlobalSettings::default(), true).await } -pub fn run_anonymous_compare_with_settings>( +pub async fn run_anonymous_compare_with_settings<'g, 's, P: AsRef>( org_contents: P, - global_settings: &GlobalSettings, + global_settings: &GlobalSettings<'g, 's>, silent: bool, ) -> Result> { // TODO: This is a work-around to pretend that dos line endings do not exist. It would be better to handle the difference in line endings. @@ -76,9 +76,9 @@ pub fn run_anonymous_compare_with_settings>( Ok(true) } -pub fn run_compare_on_file_with_settings>( +pub async fn run_compare_on_file_with_settings<'g, 's, P: AsRef>( org_path: P, - global_settings: &GlobalSettings, + global_settings: &GlobalSettings<'g, 's>, silent: bool, ) -> Result> { let org_path = org_path.as_ref(); diff --git a/src/context/file_access_interface.rs b/src/context/file_access_interface.rs index d54c7cfd..2d93e637 100644 --- a/src/context/file_access_interface.rs +++ b/src/context/file_access_interface.rs @@ -1,7 +1,7 @@ use std::fmt::Debug; use std::path::PathBuf; -pub trait FileAccessInterface: Debug { +pub trait FileAccessInterface: Sync + Debug { fn read_file(&self, path: &str) -> Result; }