From e6ac0e7c3cab43a77d3030a68476aac202e5320a Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 25 Apr 2017 10:53:34 -0700 Subject: [PATCH] Convert frameworks/minikin/tests to Android.bp See build/soong/README.md for more information. Test: m -j checkbuild Change-Id: I930debdd129da7f61ac4b764980f73dfd487785d Merged-In: I930debdd129da7f61ac4b764980f73dfd487785d (cherry picked from commit 2bfc56ad2fcd0f65551a9c2ed8a9c2350f2e0cd1) --- Android.bp | 1 + libs/minikin/Android.bp | 7 ++ tests/Android.bp | 33 ++++++++++ tests/perftests/Android.bp | 48 ++++++++++++++ tests/perftests/Android.mk | 52 --------------- tests/perftests/FontCollection.cpp | 4 +- tests/perftests/GraphemeBreak.cpp | 2 +- tests/perftests/Hyphenator.cpp | 4 +- tests/perftests/WordBreaker.cpp | 2 +- tests/stresstest/Android.bp | 49 ++++++++++++++ tests/stresstest/Android.mk | 56 ---------------- tests/unittest/Android.bp | 73 +++++++++++++++++++++ tests/unittest/Android.mk | 100 ----------------------------- tests/util/Android.bp | 13 ++++ 14 files changed, 230 insertions(+), 214 deletions(-) create mode 100644 tests/Android.bp create mode 100644 tests/perftests/Android.bp delete mode 100644 tests/perftests/Android.mk create mode 100644 tests/stresstest/Android.bp delete mode 100644 tests/stresstest/Android.mk create mode 100644 tests/unittest/Android.bp delete mode 100644 tests/unittest/Android.mk create mode 100644 tests/util/Android.bp diff --git a/Android.bp b/Android.bp index 26d502768..e875a172b 100644 --- a/Android.bp +++ b/Android.bp @@ -7,4 +7,5 @@ cc_library_headers { subdirs = [ "app", "libs/minikin", + "tests", ] diff --git a/libs/minikin/Android.bp b/libs/minikin/Android.bp index c236be349..71a693ec2 100644 --- a/libs/minikin/Android.bp +++ b/libs/minikin/Android.bp @@ -12,6 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. +cc_library_headers { + name: "libminikin-headers-for-tests", + export_include_dirs: ["."], + shared_libs: ["libharfbuzz_ng"], + export_shared_lib_headers: ["libharfbuzz_ng"], +} + cc_library { name: "libminikin", host_supported: true, diff --git a/tests/Android.bp b/tests/Android.bp new file mode 100644 index 000000000..ddc501251 --- /dev/null +++ b/tests/Android.bp @@ -0,0 +1,33 @@ +filegroup { + name: "minikin-test-data", + srcs: [ + "data/Bold.ttf", + "data/BoldItalic.ttf", + "data/ColorEmojiFont.ttf", + "data/ColorTextMixedEmojiFont.ttf", + "data/Emoji.ttf", + "data/Italic.ttf", + "data/Ja.ttf", + "data/Ko.ttf", + "data/MultiAxis.ttf", + "data/NoCmapFormat14.ttf", + "data/NoGlyphFont.ttf", + "data/Regular.ttf", + "data/TextEmojiFont.ttf", + "data/UnicodeBMPOnly.ttf", + "data/UnicodeBMPOnly2.ttf", + "data/UnicodeUCS4.ttf", + "data/VariationSelectorTest-Regular.ttf", + "data/ZhHans.ttf", + "data/ZhHant.ttf", + "data/emoji.xml", + "data/itemize.xml", + ], +} + +subdirs = [ + "perftests", + "stresstest", + "unittest", + "util", +] diff --git a/tests/perftests/Android.bp b/tests/perftests/Android.bp new file mode 100644 index 000000000..f8068e8b8 --- /dev/null +++ b/tests/perftests/Android.bp @@ -0,0 +1,48 @@ +// +// Copyright (C) 2016 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. +// + +cc_benchmark { + name: "minikin_perftests", + cppflags: [ + "-Werror", + "-Wall", + "-Wextra", + ], + srcs: [ + "FontCollection.cpp", + "FontFamily.cpp", + "FontLanguage.cpp", + "GraphemeBreak.cpp", + "Hyphenator.cpp", + "WordBreaker.cpp", + "main.cpp", + ], + + header_libs: ["libminikin-headers-for-tests"], + + static_libs: [ + "libminikin-tests-util", + "libminikin", + "libxml2", + ], + + shared_libs: [ + "libharfbuzz_ng", + "libicuuc", + "liblog", + "libskia", + ], +} diff --git a/tests/perftests/Android.mk b/tests/perftests/Android.mk deleted file mode 100644 index c60123a83..000000000 --- a/tests/perftests/Android.mk +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (C) 2016 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. -# - -LOCAL_PATH := $(call my-dir) - -perftest_src_files := \ - ../util/FileUtils.cpp \ - ../util/FontTestUtils.cpp \ - ../util/MinikinFontForTest.cpp \ - ../util/UnicodeUtils.cpp \ - FontCollection.cpp \ - FontFamily.cpp \ - FontLanguage.cpp \ - GraphemeBreak.cpp \ - Hyphenator.cpp \ - WordBreaker.cpp \ - main.cpp - -include $(CLEAR_VARS) -LOCAL_MODULE := minikin_perftests -LOCAL_CPPFLAGS := -Werror -Wall -Wextra -LOCAL_SRC_FILES := $(perftest_src_files) -LOCAL_STATIC_LIBRARIES := \ - libminikin \ - libxml2 - -LOCAL_SHARED_LIBRARIES := \ - libharfbuzz_ng \ - libicuuc \ - liblog \ - libskia - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/../ \ - $(LOCAL_PATH)/../../libs/minikin \ - external/harfbuzz_ng/src \ - external/libxml2/include - -include $(BUILD_NATIVE_BENCHMARK) diff --git a/tests/perftests/FontCollection.cpp b/tests/perftests/FontCollection.cpp index fd95cf1a6..79f25631b 100644 --- a/tests/perftests/FontCollection.cpp +++ b/tests/perftests/FontCollection.cpp @@ -18,8 +18,8 @@ #include #include -#include -#include +#include +#include #include namespace minikin { diff --git a/tests/perftests/GraphemeBreak.cpp b/tests/perftests/GraphemeBreak.cpp index 6d6cf5b17..830586f44 100644 --- a/tests/perftests/GraphemeBreak.cpp +++ b/tests/perftests/GraphemeBreak.cpp @@ -18,7 +18,7 @@ #include #include "minikin/GraphemeBreak.h" -#include "util/UnicodeUtils.h" +#include "UnicodeUtils.h" namespace minikin { diff --git a/tests/perftests/Hyphenator.cpp b/tests/perftests/Hyphenator.cpp index 2107e0575..ae6249875 100644 --- a/tests/perftests/Hyphenator.cpp +++ b/tests/perftests/Hyphenator.cpp @@ -16,8 +16,8 @@ #include #include -#include -#include +#include +#include namespace minikin { diff --git a/tests/perftests/WordBreaker.cpp b/tests/perftests/WordBreaker.cpp index 6758cf97e..f9ef2144d 100644 --- a/tests/perftests/WordBreaker.cpp +++ b/tests/perftests/WordBreaker.cpp @@ -16,7 +16,7 @@ #include #include "minikin/WordBreaker.h" -#include "util/UnicodeUtils.h" +#include "UnicodeUtils.h" namespace minikin { diff --git a/tests/stresstest/Android.bp b/tests/stresstest/Android.bp new file mode 100644 index 000000000..96a23dcfb --- /dev/null +++ b/tests/stresstest/Android.bp @@ -0,0 +1,49 @@ +// Copyright (C) 2017 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. + +// see how_to_run.txt for instructions on running these tests + +cc_test { + name: "minikin_stress_tests", + + header_libs: ["libminikin-headers-for-tests"], + + static_libs: [ + "libminikin-tests-util", + "libminikin", + "libxml2", + ], + + // Shared libraries which are dependencies of minikin; these are not automatically + // pulled in by the build system (and thus sadly must be repeated). + shared_libs: [ + "libskia", + "libft2", + "libharfbuzz_ng", + "libicuuc", + "liblog", + "libutils", + "libz", + ], + + srcs: [ + "MultithreadTest.cpp", + ], + + cppflags: [ + "-Werror", + "-Wall", + "-Wextra", + ], +} diff --git a/tests/stresstest/Android.mk b/tests/stresstest/Android.mk deleted file mode 100644 index 961978b5c..000000000 --- a/tests/stresstest/Android.mk +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (C) 2017 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. - -# see how_to_run.txt for instructions on running these tests - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_TEST_DATA := $(foreach f,$(LOCAL_TEST_DATA),frameworks/minikin/tests:$(f)) - -LOCAL_MODULE := minikin_stress_tests -LOCAL_MODULE_TAGS := tests -LOCAL_MODULE_CLASS := NATIVE_TESTS - -LOCAL_STATIC_LIBRARIES := libminikin - -# Shared libraries which are dependencies of minikin; these are not automatically -# pulled in by the build system (and thus sadly must be repeated). - -LOCAL_SHARED_LIBRARIES := \ - libskia \ - libft2 \ - libharfbuzz_ng \ - libicuuc \ - liblog \ - libutils \ - libz - -LOCAL_STATIC_LIBRARIES += \ - libxml2 - -LOCAL_SRC_FILES += \ - ../util/FontTestUtils.cpp \ - ../util/MinikinFontForTest.cpp \ - MultithreadTest.cpp \ - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/../../libs/minikin/ \ - $(LOCAL_PATH)/../util \ - external/libxml2/include \ - -LOCAL_CPPFLAGS += -Werror -Wall -Wextra - -include $(BUILD_NATIVE_TEST) diff --git a/tests/unittest/Android.bp b/tests/unittest/Android.bp new file mode 100644 index 000000000..e6d135690 --- /dev/null +++ b/tests/unittest/Android.bp @@ -0,0 +1,73 @@ +// Copyright (C) 2015 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. + +// see how_to_run.txt for instructions on running these tests + +cc_test { + name: "minikin_tests", + data: [":minikin-test-data"], + + header_libs: ["libminikin-headers-for-tests"], + + static_libs: [ + "libminikin-tests-util", + "libminikin", + "libxml2", + ], + + // Shared libraries which are dependencies of minikin; these are not automatically + // pulled in by the build system (and thus sadly must be repeated). + shared_libs: [ + "libskia", + "libft2", + "libharfbuzz_ng", + "libicuuc", + "liblog", + "libutils", + "libz", + ], + + srcs: [ + "CmapCoverageTest.cpp", + "EmojiTest.cpp", + "FontCollectionTest.cpp", + "FontCollectionItemizeTest.cpp", + "FontFamilyTest.cpp", + "FontLanguageListCacheTest.cpp", + "HbFontCacheTest.cpp", + "HyphenatorTest.cpp", + "GraphemeBreakTests.cpp", + "LayoutTest.cpp", + "LayoutUtilsTest.cpp", + "MeasurementTests.cpp", + "SparseBitSetTest.cpp", + "UnicodeUtilsTest.cpp", + "WordBreakerTests.cpp", + ], + + cppflags: [ + "-Werror", + "-Wall", + "-Wextra", + ], + + multilib: { + lib32: { + cppflags: ["-DkTestFontDir=\"/data/nativetest/minikin_tests/data/\""], + }, + lib64: { + cppflags: ["-DkTestFontDir=\"/data/nativetest64/minikin_tests/data/\""], + }, + }, +} diff --git a/tests/unittest/Android.mk b/tests/unittest/Android.mk deleted file mode 100644 index b817c4696..000000000 --- a/tests/unittest/Android.mk +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright (C) 2015 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. - -# see how_to_run.txt for instructions on running these tests - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_TEST_DATA := \ - data/Bold.ttf \ - data/BoldItalic.ttf \ - data/ColorEmojiFont.ttf \ - data/ColorTextMixedEmojiFont.ttf \ - data/Emoji.ttf \ - data/Italic.ttf \ - data/Ja.ttf \ - data/Ko.ttf \ - data/MultiAxis.ttf \ - data/NoCmapFormat14.ttf \ - data/NoGlyphFont.ttf \ - data/Regular.ttf \ - data/TextEmojiFont.ttf \ - data/UnicodeBMPOnly.ttf \ - data/UnicodeBMPOnly2.ttf \ - data/UnicodeUCS4.ttf \ - data/VariationSelectorTest-Regular.ttf \ - data/ZhHans.ttf \ - data/ZhHant.ttf \ - data/emoji.xml \ - data/itemize.xml \ - -LOCAL_TEST_DATA := $(foreach f,$(LOCAL_TEST_DATA),frameworks/minikin/tests:$(f)) - -LOCAL_MODULE := minikin_tests -LOCAL_MODULE_TAGS := tests -LOCAL_MODULE_CLASS := NATIVE_TESTS - -LOCAL_STATIC_LIBRARIES := libminikin - -# Shared libraries which are dependencies of minikin; these are not automatically -# pulled in by the build system (and thus sadly must be repeated). - -LOCAL_SHARED_LIBRARIES := \ - libskia \ - libft2 \ - libharfbuzz_ng \ - libicuuc \ - liblog \ - libutils \ - libz - -LOCAL_STATIC_LIBRARIES += \ - libxml2 - -LOCAL_SRC_FILES += \ - ../util/FileUtils.cpp \ - ../util/FontTestUtils.cpp \ - ../util/MinikinFontForTest.cpp \ - ../util/UnicodeUtils.cpp \ - CmapCoverageTest.cpp \ - EmojiTest.cpp \ - FontCollectionTest.cpp \ - FontCollectionItemizeTest.cpp \ - FontFamilyTest.cpp \ - FontLanguageListCacheTest.cpp \ - HbFontCacheTest.cpp \ - HyphenatorTest.cpp \ - GraphemeBreakTests.cpp \ - LayoutTest.cpp \ - LayoutUtilsTest.cpp \ - MeasurementTests.cpp \ - SparseBitSetTest.cpp \ - UnicodeUtilsTest.cpp \ - WordBreakerTests.cpp - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/../../libs/minikin/ \ - $(LOCAL_PATH)/../util \ - external/harfbuzz_ng/src \ - external/libxml2/include \ - external/skia/src/core - -LOCAL_CPPFLAGS += -Werror -Wall -Wextra - -LOCAL_CPPFLAGS_32 += -DkTestFontDir="\"/data/nativetest/minikin_tests/data/\"" -LOCAL_CPPFLAGS_64 += -DkTestFontDir="\"/data/nativetest64/minikin_tests/data/\"" - -include $(BUILD_NATIVE_TEST) diff --git a/tests/util/Android.bp b/tests/util/Android.bp new file mode 100644 index 000000000..50a2cd722 --- /dev/null +++ b/tests/util/Android.bp @@ -0,0 +1,13 @@ +cc_library_static { + name: "libminikin-tests-util", + srcs: [ + "FileUtils.cpp", + "FontTestUtils.cpp", + "MinikinFontForTest.cpp", + "UnicodeUtils.cpp", + ], + export_include_dirs: ["."], + shared_libs: ["libxml2"], + static_libs: ["libminikin"], + header_libs: ["libminikin-headers-for-tests"], +} -- GitLab