From 8cade2e2ccccac3e5e3e2e7d63b560d939082f07 Mon Sep 17 00:00:00 2001 From: Michael Gmelin Date: Mon, 4 Sep 2023 22:34:53 +0200 Subject: [PATCH] Add unit test for clang::is_minversion --- src/compiler/clang.rs | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/compiler/clang.rs b/src/compiler/clang.rs index 3d54211a6..6d4e201ba 100644 --- a/src/compiler/clang.rs +++ b/src/compiler/clang.rs @@ -252,6 +252,44 @@ mod test { } } + #[test] + fn test_is_minversion() { + assert_eq!( + Clang { + clangplusplus: false, + is_appleclang: false, + version: Some("\"Ubuntu Clang 14.0.0\"".to_string()), + } + .is_minversion(14), + true + ); + assert_eq!( + Clang { + clangplusplus: false, + is_appleclang: false, + version: Some("\"Ubuntu Clang 13.0.0\"".to_string()), + } + .is_minversion(14), + false + ); + assert_eq!(Clang { + clangplusplus: false, + is_appleclang: false, + version: Some("\"FreeBSD Clang 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)\"".to_string()), + }.is_minversion(14), true); + assert_eq!(Clang { + clangplusplus: false, + is_appleclang: false, + version: Some("\"FreeBSD Clang 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)\"".to_string()), + }.is_minversion(14), false); + + assert_eq!(Clang { + clangplusplus: false, + is_appleclang: true, + version: Some("\"FreeBSD Clang 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)\"".to_string()), + }.is_minversion(14), false); // is_appleclang wins + } + #[test] fn test_parse_arguments_simple() { let a = parses!("-c", "foo.c", "-o", "foo.o");