blob: 4b5bf240f916b99bb02601f633adbe5d448253ad [file] [log] [blame] [edit]
// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
rust_test_host {
name: "adevice_test",
srcs: [
"src/lib.rs",
],
defaults: ["adevice_deps_defaults"],
rustlibs: ["libgoogletest_rust"],
test_options: {
unit_test: true,
},
test_suites: ["general-tests"],
}
rust_binary_host {
name: "adevice",
srcs: [
"src/main.rs",
],
defaults: ["adevice_deps_defaults"],
}
rust_binary {
name: "adevice_fingerprint",
srcs: [
"src/adevice_fingerprint.rs",
],
defaults: ["adevice_deps_defaults"],
static_executable: true,
}
rust_test {
name: "adevice_fingerprint_test",
auto_gen_config: true,
defaults: ["adevice_deps_defaults"],
srcs: [
"src/adevice_fingerprint.rs",
],
rustlibs: ["libgoogletest_rust"],
static_executable: true,
test_suites: ["general-tests"],
test_options: {
unit_test: true,
},
}
rust_protobuf {
name: "libadevice_proto_rust",
crate_name: "adevice_proto",
host_supported: true,
source_stem: "adevice_proto",
protos: [
"src/protos/clientanalytics.proto",
"src/protos/user_log.proto",
],
}
rust_library {
name: "libadevice",
srcs: ["src/lib.rs"],
crate_name: "adevice",
defaults: ["adevice_deps_defaults"],
host_supported: true,
lints: "none",
}
rust_defaults {
name: "adevice_deps_defaults",
rustlibs: [
"libadevice_proto_rust",
"libanyhow",
"libatty",
"libclap",
"libhex",
"libitertools",
"librayon",
"libregex",
"libring",
"libserde",
"libserde_json",
"libtempfile",
"libtracing",
"libtracing_subscriber",
"libwalkdir",
"libprotobuf",
"libuuid",
],
}
// Automate as much of the tool invocation testing that we can.
// It is still TBD what we will do to inject a product out tree
// and a device in CI.
sh_test_host {
name: "adevice_integration_test",
src: "adevice_integration_test.sh",
data_bins: [
"adevice",
],
test_suites: ["general-tests"],
}
rust_test {
name: "adevice_whole_program_test",
auto_gen_config: true,
defaults: ["adevice_deps_defaults"],
srcs: [
"tests/whole_program_tests.rs",
],
rustlibs: [
"libgoogletest_rust",
"libadevice",
],
static_executable: true,
test_suites: ["general-tests"],
test_options: {
unit_test: true,
},
}
rust_test {
name: "adevice_partial_program_test",
auto_gen_config: true,
defaults: ["adevice_deps_defaults"],
srcs: [
"tests/partial_program_tests.rs",
],
rustlibs: [
"libgoogletest_rust",
"libadevice",
],
static_executable: true,
test_suites: ["general-tests"],
test_options: {
unit_test: true,
},
}