Files
android_packages_modules_Co…/tests/cts/net/Android.mk
Brian Muramatsu 59be169eb9 Move Test XML Generation from buildCts.py
buildCts.py was the central script that generated all the
test package XMLs each time CTS was built. This had a
couple problems:

1. All the XML files for ~40 packages needed to be made
   every time CTS was made. Even if those packages were
   not touched at all.

2. Couldn't shard the XML generation process across the
   available cores on a machine. A pool was added to the
   python script, but it was set to a fixed number.

This change moves the test XML generation into a
smaller Java program called "cts-java-scanner" and
the doclet it relies upon to scan the Java files
into "cts-java-scanner-doclet.jar". The output of
the scanner like "cts-native-scanner" for native EXEs
is piped to the existing cts-xml-generator to
produce the test XMLs.

New CTS specific rules replace the standard
BUILD_PACKAGE and BUILD_HOST_JAVA_LIBRARY. They just
add extra rules for the package XML. The BUILD_CTS_PACKAGE
rule also adds a rule for copying the "package.apk"
to something more like "CtsFooTestCases.apk" to the
test case out directory. All the apks, exes, and xmls
are now thrown into a "cts-testcases" directory, before
they are copied to the final CTS distribution.

This change should prevent rebuilding the XMLs
unnecessarily and make rebuilding CTS quicker while
writing tests.

There are still the libcore tests that are always rebuilt,
but they can be adapted to fit into this model someday...

Change-Id: I52a916aa37fd679057e2709bb0ccec694c9fca01
2012-01-05 11:43:00 -08:00

36 lines
1.1 KiB
Makefile

# Copyright (C) 2008 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)
# don't include this package in any target
LOCAL_MODULE_TAGS := optional
# and when built explicitly put it in the data partition
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
LOCAL_JAVA_LIBRARIES := android.test.runner
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := CtsNetTestCases
LOCAL_INSTRUMENTATION_FOR := CtsTestStubs
# uncomment when dalvik.annotation.Test* are removed or part of SDK
#LOCAL_SDK_VERSION := current
include $(BUILD_CTS_PACKAGE)