1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 //! test_rlib_cargo_crate
16 include!(concat!(env!("OUT_DIR"), "/generated/generated.rs"));
17 
18 /// say_hello_from_crate
say_hello_from_crate()19 pub fn say_hello_from_crate() {
20     assert_eq!(run_some_generated_code(), 45);
21     #[cfg(is_new_rustc)]
22     println!("Is new rustc");
23     #[cfg(is_old_rustc)]
24     println!("Is old rustc");
25     #[cfg(is_ohos)]
26     println!("Is ohos");
27     #[cfg(is_mac)]
28     println!("Is darwin");
29     #[cfg(has_feature_a)]
30     println!("Has feature_a");
31     #[cfg(not(has_feature_a))]
32     panic!("Wasn't passed feature_a");
33     #[cfg(not(has_feature_b))]
34     #[cfg(test_a_and_b)]
35     panic!("feature_b wasn't passed");
36     #[cfg(has_feature_b)]
37     #[cfg(not(test_a_and_b))]
38     panic!("feature_b was passed");
39 }
40 
41 #[cfg(test)]
42 mod tests {
43     /// Test features are passed through from BUILD.gn correctly. This test is the target configuration.
44     #[test]
45     #[cfg(test_a_and_b)]
test_features_passed_target1()46     fn test_features_passed_target1() {
47         #[cfg(not(has_feature_a))]
48         panic!("feature a was not passed");
49         #[cfg(not(has_feature_b))]
50         panic!("feature b was not passed");
51     }
52 
53     #[test]
test_generated_code_works()54     fn test_generated_code_works() {
55         assert_eq!(crate::run_some_generated_code(), 45);
56     }
57 }
58