platform_system_core/liblog/tests/Android.bp
Tom Cherry 9158984894 liblog: display valid utf8 characters with 'printable' log format
This started as a change to use mbrtowc() instead of
utf8_character_length() as mbrtowc() does everything that
utf8_character_length() intends to do, but is a libc function. The
change was further intended to add unit tests to ensure that these
functions operate as intended.

It turns out that utf8_character_length() returned an error for the
utf8 characters that I tested, so this also has the side effect of
allowing valid utf8 characters to be printed in the 'printable' log
format, which was the original intention.

Also, print the binary data as hex instead of octal, since it is a
more suitable choice.

Test: new unit tests, existing unit tests, logcat -v printable
Change-Id: I4cc95aee81519411ef47892ca74eb31117c972d2
2019-04-29 09:14:37 -07:00

98 lines
2.4 KiB
Text

//
// Copyright (C) 2013-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.
//
// -----------------------------------------------------------------------------
// Benchmarks.
// -----------------------------------------------------------------------------
// Build benchmarks for the device. Run with:
// adb shell liblog-benchmarks
cc_benchmark {
name: "liblog-benchmarks",
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-fno-builtin",
],
shared_libs: [
"libm",
"libbase",
"libcutils",
],
static_libs: ["liblog"],
srcs: ["liblog_benchmark.cpp"],
}
// -----------------------------------------------------------------------------
// Unit tests.
// -----------------------------------------------------------------------------
cc_defaults {
name: "liblog-tests-defaults",
cflags: [
"-fstack-protector-all",
"-g",
"-Wall",
"-Wextra",
"-Werror",
"-fno-builtin",
],
srcs: [
"libc_test.cpp",
"liblog_test_default.cpp",
"liblog_test_stderr.cpp",
"log_id_test.cpp",
"log_radio_test.cpp",
"log_read_test.cpp",
"log_system_test.cpp",
"log_time_test.cpp",
"log_wrap_test.cpp",
"logprint_test.cpp",
],
shared_libs: [
"libcutils",
"libbase",
],
static_libs: ["liblog"],
}
// Build tests for the device (with .so). Run with:
// adb shell /data/nativetest/liblog-unit-tests/liblog-unit-tests
cc_test {
name: "liblog-unit-tests",
defaults: ["liblog-tests-defaults"],
}
cc_test {
name: "CtsLiblogTestCases",
defaults: ["liblog-tests-defaults"],
multilib: {
lib32: {
suffix: "32",
},
lib64: {
suffix: "64",
},
},
cflags: ["-DNO_PSTORE"],
test_suites: [
"cts",
"vts",
],
}