android_system_core/libutils/tests/Android.bp
Siarhei Vishniakou 4e5b69134b Add thread safety analysis annotations.
Enable thread safety analysis annotations for clang.
See https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
for instructions on using these in the source code.

Bug: 28094863
Test: annotated
frameworks/native/services/inputflinger/InputDispatcher.cpp
and enabled '-Werror' and '-Wthread-safety' clang
compiler flags in Android.bp for inputflinger.
Observed compiler errors when accessing
instance attributes without holding a lock. Also added
a compile test Mutex_test.cpp, which can be build using
m libutils_tests and run using
/data/nativetest64/libutils_tests/libutils_tests

Change-Id: I24ce111241cc339901bc45dda8b446df5299af4a
2017-07-21 13:25:42 -07:00

93 lines
2.2 KiB
Text

//
// Copyright (C) 2014 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.
//
// Build the unit tests.
cc_test {
name: "libutils_tests",
host_supported: true,
srcs: [
"BitSet_test.cpp",
"LruCache_test.cpp",
"Mutex_test.cpp",
"Singleton_test.cpp",
"String8_test.cpp",
"StrongPointer_test.cpp",
"Unicode_test.cpp",
"Vector_test.cpp",
],
target: {
android: {
srcs: [
"BlobCache_test.cpp",
"Looper_test.cpp",
"RefBase_test.cpp",
"SystemClock_test.cpp",
],
shared_libs: [
"libz",
"liblog",
"libcutils",
"libutils",
"libbase",
"libdl",
],
},
linux: {
srcs: [
"Looper_test.cpp",
"RefBase_test.cpp",
],
},
host: {
static_libs: [
"libutils",
"liblog",
"libbase",
],
host_ldlibs: ["-ldl"],
},
},
required: [
"libutils_tests_singleton1",
"libutils_tests_singleton2",
],
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-Wthread-safety",
],
}
cc_test_library {
name: "libutils_tests_singleton1",
host_supported: true,
relative_install_path: "libutils_tests",
srcs: ["Singleton_test1.cpp"],
}
cc_test_library {
name: "libutils_tests_singleton2",
host_supported: true,
relative_install_path: "libutils_tests",
srcs: ["Singleton_test2.cpp"],
shared_libs: ["libutils_tests_singleton1"],
}