• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15import("//build/ohos_var.gni")
16
17group("tests") {
18  deps = [
19    ":cxx_test_host_and_target",
20    "test_cdylib_crate:test_cdylib_crate(${host_toolchain})",
21    "test_proc_macro_crate:test_proc_macro_crate(${host_toolchain})",
22  ]
23  deps += [
24    "//build/rust/tests/test_cdylib_crate",
25    "//build/rust/tests/test_staticlib_crate",
26  ]
27  deps += [ ":cargo_crate_test" ]
28  if (is_system_component) {
29    deps += [ "//build/rust/tests/test_idl" ]
30  }
31  deps += [ ":original_libstd.so" ]
32  if (!use_clang_coverage) {
33    deps += [
34      "test_bin_crate:test_bin_crate(${host_toolchain})",
35      "test_dylib_crate:test_dylib_crate(${host_toolchain})",
36      "test_static_link:test_static_link(${host_toolchain})",
37      "//build/rust/tests/test_bin_crate",
38      "//build/rust/tests/test_dylib_crate",
39      "//build/rust/tests/test_rlib_crate",
40      "//build/rust/tests/test_static_link",
41    ]
42  }
43}
44
45group("ohos_rust_xxxtest_tests") {
46  testonly = true
47  deps = [
48    "test_rust_ut:test_rust_ut(${host_toolchain})",
49    "//build/rust/tests/test_proc_macro_crate/test_derive_macro:test_derive_macro(${host_toolchain})",
50    "//build/rust/tests/test_rust_ut",
51  ]
52}
53
54group("cargo_crate_test") {
55  deps = [ "test_proc_macro_cargo_crate:test_proc_macro_cargo_crate(${host_toolchain})" ]
56  if (!use_clang_coverage) {
57    deps += [
58      "test_bin_cargo_crate:test_bin_cargo_crate",
59      "test_rlib_cargo_crate:test_rlib_crate_associated_bin",
60    ]
61  }
62}
63
64group("cxx_test_host_and_target") {
65  deps = [
66    "//build/rust/tests/test_cxx:test_cxx_exe",
67    "//build/rust/tests/test_cxx:test_cxx_exe(${host_toolchain})",
68  ]
69  if (!use_clang_coverage && !use_libfuzzer) {
70    deps += [
71      "//build/rust/tests/test_bindgen_test/test_for_extern_c:test_extern_c",
72      "//build/rust/tests/test_bindgen_test/test_for_extern_c:test_extern_c(${host_toolchain})",
73      "//build/rust/tests/test_bindgen_test/test_for_h:bindgen_test_for_h",
74      "//build/rust/tests/test_bindgen_test/test_for_h:bindgen_test_for_h(${host_toolchain})",
75      "//build/rust/tests/test_bindgen_test/test_for_hello_world:bindgen_test",
76      "//build/rust/tests/test_bindgen_test/test_for_hello_world:bindgen_test(${host_toolchain})",
77      "//build/rust/tests/test_bindgen_test/test_for_hpp:bindgen_test_hpp",
78      "//build/rust/tests/test_bindgen_test/test_for_hpp:bindgen_test_hpp(${host_toolchain})",
79      "//build/rust/tests/test_cxx_rust:test_cxx_rust",
80      "//build/rust/tests/test_cxx_rust:test_cxx_rust(${host_toolchain})",
81    ]
82  }
83}
84
85ohos_prebuilt_shared_library("original_libstd.so") {
86  if (current_cpu == "arm64") {
87    source = "//prebuilts/rustc/linux-x86_64/current/lib/rustlib/aarch64-unknown-linux-ohos/lib/libstd.dylib.so"
88    output = "libstd.dylib.so"
89  } else if (current_cpu == "arm") {
90    source = "//prebuilts/rustc/linux-x86_64/current/lib/rustlib/armv7-unknown-linux-ohos/lib/libstd.dylib.so"
91    output = "libstd.dylib.so"
92  } else if ((current_cpu == "x86_64" || current_cpu == "x64") &&
93             current_os == "ohos") {
94    source = "//prebuilts/rustc/linux-x86_64/current/lib/rustlib/x86_64-unknown-linux-ohos/lib/libstd.dylib.so"
95    output = "libstd.dylib.so"
96  } else if (current_cpu == "x86_64" || current_cpu == "x64") {
97    source =
98        "//prebuilts/rustc/linux-x86_64/current/lib/libstd-ae85deb1fb5d0029.so"
99    output = "libstd-ae85deb1fb5d0029.so"
100  }
101  enable_strip = true
102  install_images = [
103    "system",
104    "updater",
105  ]
106  subsystem_name = "build"
107  part_name = "build_framework"
108}
109