2a637cf9b0
It looks as though the tests in test-runner/tests have not actually been run successfully for over 7 years. As a result they have degraded. This change fixes the tests so that they will pass and provides instructions on how to run them. TestCaseUtilTest.testGetTestCaseNamesForTestSuiteWithSuiteMethod This fails because it expected 2 names to be returned but only returns 0. The reason for that is although TwoTestsInTestSuite has a Test suite() method that does create a TestSuite with two tests the TestCaseUtil method does not actually call suite(). Instead, because TwoTestsInTestSuite is a TestSuite it just calls the tests() method on it which returns an empty Enumeration because TwoTestsInTestSuite is empty. The support for "static Test suite() {}" is broken but fixing this will affect the behavior of InstrumentationTestRunner which is used in thousands of different places both in and outside Google and so could cause untold problems. TestSuiteBuilderTest.testIncludeAllPackagesUnderHere Reformat the list, one per line and then add missing name "testPublicConstructor". ErrorTest/FailingTest These tests are not meant to be run on their own, only as part of a separate test. The RunAsPartOfSeparateTest annotation was added to allow these to be excluded using notAnnotation as shown in the instructions for running the tests. Bug: 30188076 Test: followed new instructions in test-runner/tests/Android.mk Change-Id: I60e7bee9cd08a9ab7777a2578fc58da772de5c1f
38 lines
1.3 KiB
Makefile
38 lines
1.3 KiB
Makefile
# Copyright 2010, 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)
|
|
include $(CLEAR_VARS)
|
|
|
|
# We only want this apk build for tests.
|
|
#
|
|
# Run the tests using the following commands:
|
|
# adb -r install ${ANDROID_PRODUCT_OUT}/data/app/FrameworkTestRunnerTests/FrameworkTestRunnerTests.apk
|
|
# adb shell am instrument \
|
|
-e notAnnotation android.test.suitebuilder.examples.error.RunAsPartOfSeparateTest \
|
|
-w com.android.frameworks.testrunner.tests/android.test.InstrumentationTestRunner
|
|
#
|
|
LOCAL_MODULE_TAGS := tests
|
|
|
|
LOCAL_JAVA_LIBRARIES := android.test.runner
|
|
LOCAL_STATIC_JAVA_LIBRARIES := junit legacy-android-test
|
|
|
|
# Include all test java files.
|
|
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
|
|
|
LOCAL_PACKAGE_NAME := FrameworkTestRunnerTests
|
|
|
|
include $(BUILD_PACKAGE)
|
|
|