Part of the work of removing JUnit and dependent android.test classes from the Android API involves providing a static library that developers can include in their test applications to ease migration. That library will be built directly from the source (as opposed to android.jar which is built from stubs) and so developers will be able to see classes and methods that are not present in the stubs. This change is one of a number of similar changes that cleanup the existing non-API code in order to minimize the additional methods and classes exposed externally. The basic approach is to remove unused classes and methods, use least visible access modifier possible and generally minimize the amount of publicly visible code. The HasClassAnnotation and HasMethodAnnotation were never used separately and only used by HasAnnotation. This merges the functionality into a single nested class in TestPredicates, hidden behind the new TestPredicates.hasAnnotation(). The HasAnnotationTest was renamed as TestPredicatesTest and the HasClassAnnotationTest and HasMethodAnnotationTest classes were removed as their tests provide no additional coverage. The removal of the Has*Annotation.java files means that the test-runner/src/android/test/suitebuilder/annotation/ directory is empty apart from the package.html file so that was moved to legacy-test to sit alongside the actual annotation classes. The Predicates class, while part of the legacy-test module was only ever used by the test-runner module and only its not() method was actually used. So, the not() method and associated nested class were moved to TestPredicates, the tests for not() were moved to TestPredicatesTest and the Predicates* classes were removed. That allowed for the removal of the legacy-android-tests as that is now empty. TestPredicates has a number of constants that were public. They were hidden by moving them to the class that actually used them. A minor generic issue was fixed in AssignableFrom. Bug: 30188076 Test: make checkbuild and run FrameworkTestRunnerTests Change-Id: I861da388a4146bb28e1e480d1b7ba9137b7b270e
62 lines
2.1 KiB
Makefile
62 lines
2.1 KiB
Makefile
#
|
|
# 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)
|
|
|
|
# Build the legacy-test library
|
|
# =============================
|
|
# This contains the junit.framework and android.test classes that were in
|
|
# Android API level 25 excluding those from android.test.runner.
|
|
# Also contains the com.android.internal.util.Predicate[s] classes.
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
|
|
|
LOCAL_MODULE := legacy-test
|
|
LOCAL_NO_STANDARD_LIBRARIES := true
|
|
LOCAL_JAVA_LIBRARIES := core-oj core-libart framework
|
|
|
|
include $(BUILD_JAVA_LIBRARY)
|
|
|
|
# Build the legacy-android-test library
|
|
# =====================================
|
|
# This contains the android.test classes that were in Android API level 25,
|
|
# including those from android.test.runner.
|
|
# Also contains the com.android.internal.util.Predicate[s] classes.
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := \
|
|
$(call all-java-files-under, src/android) \
|
|
$(call all-java-files-under, ../test-runner/src/android) \
|
|
$(call all-java-files-under, src/com)
|
|
LOCAL_MODULE := legacy-android-test
|
|
LOCAL_NO_STANDARD_LIBRARIES := true
|
|
LOCAL_JAVA_LIBRARIES := core-oj core-libart framework junit
|
|
|
|
include $(BUILD_STATIC_JAVA_LIBRARY)
|
|
|
|
ifeq ($(HOST_OS),linux)
|
|
# Build the legacy-performance-test-hostdex library
|
|
# =================================================
|
|
# This contains the android.test.PerformanceTestCase class only
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := src/android/test/PerformanceTestCase.java
|
|
LOCAL_MODULE := legacy-performance-test-hostdex
|
|
|
|
include $(BUILD_HOST_DALVIK_STATIC_JAVA_LIBRARY)
|
|
endif # HOST_OS == linux
|