tree 95b8b2602047b9721601c28775e2b6fab882ca7f
parent 3c7122422c28dbcaf37672ae6dcb9be39473efed
author Paul Duffin <paulduffin@google.com> 1457955090 +0000
committer Paul Duffin <paulduffin@google.com> 1461325723 +0100

Added support for running repackaged Android ICU4J tests using JUnit

Adds JUnit integration classes under android_icu4j/runner that
bridges between ICU4J's custom testing framework and JUnit.
These classes were copied from cts/tests/tests/icu to here,
moved into a new package (to remove cts and ensure that they
do not clash with original classes in cts) and then made
standalone so that they didn't depend on CTS.

The intent is that the original classes will be removed and the
CTS runner will use these classes, either directly or through
standard Android/JUnit integration.

In order for these classes to work with CTS they need to be able
to skip execution, i.e. 'run' the tests in order to fire events
but to not actually execute the tests themselves. This was
previously done using a special parameters class but this uses
the 'standard', in internal Android at least,
AndroidRunnerParams class. As that class is not available on the
host and the host does not require the ability to skip the
execution this provides a dummy implementation that never skips.

This also adds @RunWith annotations to the tests during
repackaging so that they can be run using standard JUnit
runners.

The Android.mk file has instructions on how to run using both
JUnit and the ICU4J test framework.

There are a number of issues with running tests under JUnit but
they will be fixed in follow on changes.

(cherry picked from commit 3a45e58d9461ee00f295ca8a6a29ef0860559e7e)

Bug: 22023363
Change-Id: Iac1221c12cc7194277db49b9a013d427d9533b36
