From 3c46df46d9082f23f7790a46a9adbabf3e55acb5 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Sat, 5 Sep 2020 17:42:12 +0200 Subject: [PATCH] Attempt to fix window build by properly escaping backslashes --- tests/driver/build.rs | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tests/driver/build.rs b/tests/driver/build.rs index cda3e372c..a807c7aed 100644 --- a/tests/driver/build.rs +++ b/tests/driver/build.rs @@ -69,36 +69,40 @@ fn main() -> Result<(), Box> { dir }); - let test_function_name = - testcase.relative_path.file_stem().unwrap().to_string_lossy().replace("/", "_"); + let test_function_name = testcase + .relative_path + .file_stem() + .unwrap() + .to_string_lossy() + .replace(|c: char| !c.is_ascii_alphanumeric(), "_"); write!( tests_file, - r#" + r##" #[test] fn test_cpp_{function_name}() {{ cppdriver::test(&test_driver_lib::TestCase{{ - absolute_path: std::path::PathBuf::from("{absolute_path}"), - relative_path: std::path::PathBuf::from("{relative_path}"), + absolute_path: std::path::PathBuf::from(r#"{absolute_path}"#), + relative_path: std::path::PathBuf::from(r#"{relative_path}"#), }}).unwrap(); }} #[test] fn test_interpreter_{function_name}() {{ interpreter::test(&test_driver_lib::TestCase{{ - absolute_path: std::path::PathBuf::from("{absolute_path}"), - relative_path: std::path::PathBuf::from("{relative_path}"), + absolute_path: std::path::PathBuf::from(r#"{absolute_path}"#), + relative_path: std::path::PathBuf::from(r#"{relative_path}"#), }}).unwrap(); }} #[test] fn test_nodejs_{function_name}() {{ nodejs::test(&test_driver_lib::TestCase{{ - absolute_path: std::path::PathBuf::from("{absolute_path}"), - relative_path: std::path::PathBuf::from("{relative_path}"), + absolute_path: std::path::PathBuf::from(r#"{absolute_path}"#), + relative_path: std::path::PathBuf::from(r#"{relative_path}"#), }}).unwrap(); }} - "#, + "##, function_name = test_function_name, absolute_path = testcase.absolute_path.to_string_lossy(), relative_path = testcase.relative_path.to_string_lossy(),