25 Commits

Author SHA1 Message Date
Nan Zhang
4a139d0406 Convert android.test.runner.stubs to Soong
Test: m clean && m check-android-test-runner-api, and check jar file
content.
Bug: b/70351683

Change-Id: I6ab6bded4bb2432212fcb4f676b27624fe17a397
2018-04-26 14:55:41 -07:00
Paul Duffin
cc600d6d47 Build test-runner/tests
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
2018-01-30 12:39:09 +00:00
Paul Duffin
d00221cfc6 Use prebuilt android.test. stubs jars for app builds
(cherry picked from commit e144602d9c94d46b2da11d70f526d747b5e05750)

Bug: 30188076
Test: tapas Launcher3
Change-Id: I48864d48098cfa02e15a6eaf8e4d6b53afc5b56c
Merged-In: If632c39c9d98d89d597d410ebc7973903c9fa91e
2018-01-30 12:39:09 +00:00
Paul Duffin
6b8b7e04ef Build stubs against SDK and clear local variables
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
2018-01-30 12:39:09 +00:00
Paul Duffin
e95a895ef4 Added new android.test.base targets
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
2018-01-12 16:31:08 +00:00
Colin Cross
fc7ba9e61f Convert legacy-test, test-runner, and test-mock to Android.bp
See build/soong/README.md for more information.

Test: m checkbuild
Change-Id: I110f752d2fa94c44581f20d4f308d9d429da0517
Merged-In: I110f752d2fa94c44581f20d4f308d9d429da0517
(cherry-picked from commit 2b7d71c7f8028741c2200bfeba8913b7f4f55cde)
2017-12-12 23:24:40 +00:00
Paul Duffin
69516f4df7 Separate android.test.mock from test-runner source
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)
2017-12-12 23:23:31 +00:00
Colin Cross
b882daa105 Fix intermittent build failures with droiddoc generated sources
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)
2017-09-06 15:29:12 +00:00
Paul Duffin
855d702cb7 Separate android.test.mock classes from android.test.runner
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
2017-07-17 15:25:04 +01:00
Paul Duffin
8eaf94be52 Add repackaged legacy-test and android.test.runner
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
2017-07-05 10:09:52 +01:00
Paul Duffin
bacad4088d Stubs/api check for legacy-test and android.test.runner
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
2017-06-28 12:55:31 +01:00
Paul Duffin
f74752293d Added android.test.mock and android.test.mock.sdk targets
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
2017-06-05 11:19:58 +01:00
Paul Duffin
8aeb59ebcd Prepare for removal of legacy-test from default targets
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
2017-01-18 16:39:34 +00:00
Paul Duffin
eef35dd29a Copy junit-runner files into test-runner.
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
2016-12-14 10:41:05 +00:00
Paul Duffin
9249205d1b Replace core-junit with junit
Bug: 30188076
Test: make checkbuild
Change-Id: I0cb6f89907eb099714b54bac57b51c4be186c3e0
2016-12-06 14:32:41 +00:00
Piotr Jastrzebski
cfa292e1da Add core-oj to the list of core library jars.
With some core classes moved to separate core-oj jar
we need to use the new jar.

(cherry-picked from f898cda2f499b14f92bc7fb75f44110cdec7654f)

Change-Id: Ica148f11bcc77f57d22944ff78c501611a293167
2015-11-20 14:06:55 +00:00
Brian Carlstrom
dbcae5ceb7 Switch from core to core-libart
Bug: 14298175
Change-Id: I89db18bf3d88f9511cb2ad943c64ecdbaf09d96f
2014-06-18 17:43:27 -07:00
Brett Chabot
a0b2786304 Delete duplicate copies of junit source.
Bug 5826326

Change-Id: Ie361b3778076686c5a59d8392aadb8c86a9ae981
2012-05-09 18:08:31 -07:00
Jesse Wilson
c8f503b528 Moving junit out of core.jar and into core-junit.jar.
Change-Id: I38b585044aaa0f0ef5a243a33d942ab0e490f8f1
2010-05-12 22:05:07 -07:00
Brett Chabot
e70f61b116 Retry test-runner tests move.
This time change the frameworks makefile so it only includes test-runner/src
in the public API.
2010-02-20 17:29:05 -08:00
Brett Chabot
c1ca8c51c6 Revert "Move framework test-runner unit tests to be closer to their source."
This reverts commit 12093976a4842a795491cfd2b1d3b71e18503f2d.
2010-02-19 10:31:05 -08:00
Brett Chabot
12093976a4 Move framework test-runner unit tests to be closer to their source.
Move the test-runner source into a separate src folder to accommodate the test
move.
2010-02-19 09:58:29 -08:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
54b6cfa9a9 Initial Contribution 2008-10-21 07:00:00 -07:00