Previous change e254526f0fe5d22681555bd4a00b7ee96fee1dc1 inadvertently
removed the line to include the tests/Android.mk file.
(cherry picked from commit 006b7a2b760b89211b9530804118a8333cee314b)
Bug: 30188076
Test: make checkbuild
Change-Id: I59bd6ec5d317eb6306642974902e4c061e594aa8
Merged-In: Ia0ba14a70d2232d464420265a7a5f9c4dde3661b
The stubs need to be built against the current SDK where possible and
not the internal modules.
(cherry picked from commit d41d847c83c598082a6572f38d0d40f5dee427ef)
Bug: 30188076
Test: delete stub files and remake targets
Change-Id: I9b46a4e2be341fed7e5b33bbf1a80d88c5486ae6
Merged-In: Id724c16e56d1e8fe7f61cfafe7f11ea27e01e659
Renames ...-legacy-test-... targets related to stubs generation to
...-android-test-base-....
(cherry picked from commit 5c99382a1995723637814221cd5432c458c622ad)
Bug: 30188076
Test: make checkbuild
Change-Id: I40b39c5250b7d990a903052c0b1ebd694242b5b3
Merged-Id: I54204733612d6d3f14dd8023973e993a5ddab51d
See build/soong/README.md for more information.
Test: m checkbuild
Change-Id: I110f752d2fa94c44581f20d4f308d9d429da0517
Merged-In: I110f752d2fa94c44581f20d4f308d9d429da0517
(cherry-picked from commit 2b7d71c7f8028741c2200bfeba8913b7f4f55cde)
Extracts the source for the android.test.mock library from the
frameworks/base/test-runner directory into its own
frameworks/base/test-mock directory. They are already treated separately
at runtime and compile time so this just makes the separation complete.
Bug: 30188076
Test: make checkbuild
Change-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6
Merged-In: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6
(cherry picked from commit e254526f0fe5d22681555bd4a00b7ee96fee1dc1)
Jack builds fail very rarely with missing droiddoc generated
source files. This happens because jack builds have an extra
rule that does a quick check of the sources and touches a
jack.check.timestamp file. The manual dependencies for the
generated sources didn't cover this case. If the sources are
partially generated when the jack.check.timestamp rule runs,
the rule can see partial sources and fail. The same problem
might also happen for javac builds after
https://android-review.googlesource.com/c/platform/build/+/404743
separated the source list generation rule out of the
$(full_classes_jar) rule.
Use LOCAL_ADDITIONAL_DEPENDENCIES instead, which covers these
cases and will be updated to cover future changes.
Bug: 65255877
Test: m -j ANDROID_COMPILE_WITH_JACK=true out/target/common/obj/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/jack.check.timestamp
make sure sources are generated
Change-Id: I4466b3128eb0bba6447c24abf921a6655a3d451f
Merged-In: I4466b3128eb0bba6447c24abf921a6655a3d451f
(cherry picked from commit 85ab406eb2abd2e98fa9a67384223592692c08a9)
The android.test.runner library contained classes in the
android.test.mock. Those classes have been extracted into a separate
android.test.mock library but are still part of the android.test.runner
library. This change removes them from the android.test.runner library.
The PackageParser change ensures that applications which specify
<uses-library android:name="android.test.runner"/> still see the same
set of classes at runtime as they did before this change.
The logic for updating the Package to maintain backwards compatibility
was extracted into its own class for a number of reasons:
* PackageParser is already huge.
* It is easier to test in separate class.
* It reduces potential for conflicts.
Bug: 30188076
Test: cts/tests/signature/runSignatureTests.sh CtsAndroidTestRunnerCurrentApiSignatureTestCases
Change-Id: I19042b3f9ffff8bf0f8437db7bb8341c703e4244
Remove android.test.mock classes from android.test.runner
Bug: 30188076
Test: cts/tests/signature/runSignatureTests.sh CtsAndroidTestRunnerCurrentApiSignatureTestCases
Change-Id: I8ddbdb0bda7bef8858202bc085881af14d7f0c92
The CtsSignatureTestCases test verifies that the API described in the
api/current.txt file is actually available at runtime. The test class,
SignatureTest, requires junit and android.test classes, some from
legacy-test, some from android.test.runner which makes it impossible
(without classpath scanning) for it to verify that those classes are
accessible at runtime when they should be and inaccessible when they
should not be which is needed for the work to remove JUnit from the
Android API.
This change uses jarjar to repackage the junit and android.test classes
into repackaged.junit and repackaged.android.test packages in the
repackaged-legacy-test and repackaged.android.test.runner modules
respectively. A follow on change will switch SignatureTest over to
using the repackaged classes thus allowing it to work even when junit
and android.test classes are not visible.
Tested by making the modules and manually verifying that they contain
the classes in the repackaged package.
Bug: 35192974
Bug: 30188076
Test: see above
Change-Id: If0355a0d50b7540f416d464fdf7ffae0e4766b1c
Adds stub generation for legacy-test classes and android.test.runner
classes. Changes name of android.test.mock.sdk to
android.test.mock.stubs for consistency and clarity, adds new
temporary android.test.mock.sdk target to prevent build breakage.
Adds api check and update targets for legacy.test.stubs,
android.test.runner.stubs and android.test.mock.stubs to prevent
accidental changes to the API.
Bug: 30188076
Test: make checkapi and make update-api
Change-Id: I40cc7b967f1ab1c7e148407d6965526550ee2f9b
The android.test.mock will be used for any targets that require
android.test.mock classes but which do not already depend on the
sdk. It is also the library that will be added to the classpath
at runtime when an app has the following in their manifest.
<uses-library android:name="android.test.mock"/>
The android.test.mock.sdk will be used by targets that require
android.test.mock classes and which build against the SDK. It
contains stub classes (like android.jar). It is also the library
that will be copied into the optional directory of the SDK.
Bug: 30188076
Test: make checkbuild
Change-Id: Ia3fcd47c644b8e5a573f891571a7b3772eac63f9
In preparation for removing junit classes from the Android API
the legacy-test target will be removed from the
TARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit
dependencies on junit and/or legacy-android-test to ensure that
modules will compile properly once it is removed.
Bug: 30188076
Test: make checkbuild
Change-Id: I13e88297731253420e4e5f5291d503f13a39a156
The android.test.runner target forms part of the Android API and
so must maintain backwards compatibility. The junit classes that
belong in there are copied here to ensure that they do not
change when external/junit is upgraded.
Bug: 30188076
Test: make checkbuild and checked android.test.runner contents
Change-Id: I947144c47ae1c3eb361a43c39bdd03dc11b9575f
With some core classes moved to separate core-oj jar
we need to use the new jar.
(cherry-picked from f898cda2f499b14f92bc7fb75f44110cdec7654f)
Change-Id: Ica148f11bcc77f57d22944ff78c501611a293167