Age | Commit message (Collapse) | Author |
|
CTS uses the Android Test Support Library's
TestRequestBuilder.ShardingFilter to spread changes across a
number of devices in order to parallelize testing.
CTS runs the tests in two modes, in the first it collects the
set of tests that will be run - the list of tests returned by
Runner.getDescription() (after filtering) and in the second it
actually runs the tests as returned by
ParentRunner.getFilteredChildren().
JUnitParams does not work in that situation because it applies
the filter in a different way for parameterized methods
depending on whether it is collecting or running which leads
to inconsistent methods in each phase which causes CTS problems.
When collecting it creates a flat list of FrameworkMethod
instances, one for each method, whether parameterized or
not and applies the filter to that. Once it has filtered it
iterates over to create the Description and during that
process it creates N Description objects for each parameterized
method and 1 Description object for each non-parameterized
method. That means that for each parameterized method either
every instance is collected or none of them are.
When running it creates a flat list of FrameworkMethod
instances, one for each non-parameterized method and N for each
parameterized method (where N is the number of parameter sets
supplied for the method). They are then filtered individually.
That means that for each parameterized method some of its
instances are run but not necessarily all.
This fixes it by making the running and describing parts
completely consistent in how they apply the filters.
This change will be pushed upstream if possible.
Tested by running the two commands given in the bug and ensuring
that they produce the correct set of tests. Added target to
build the test on host and ran selected tests from there. Ran
all tests on the device as per instructions in Android.mk file.
Bug: 38419944
Test: See above
Change-Id: I25b4d4130ffdc71c77992abf592662ba1e1432db
|
|
Previous changes caused tests that use @TestCaseName to start to
fail but did not update the tests to ensure that they still run.
Bug: 38419944
Test: run tests as described in Android.mk
Change-Id: I2d5ed10bcf49fa114f73292bbe06fd70c158ae99
|
|
Android"
This partially reverts commit 6774bdc0447b72a618eab51772685010afd5647a.
Bug: 33613916
Test: make checkbuild
Change-Id: Iac008952ff1a0e6f89d8862e817a8b2480dcbb28
|
|
The main issues are:
* JUnit 4.10 does not support giving Description instances a
unique id, separate to its display name.
* JUnit 4.10's BlockJUnit4ClassRunner.validateFields(List)
method is private so cannot be overridden.
* JUnit 4.10 requires test classes to be static.
* JUnit 4.10 has no assertNotEquals() methods.
* Some of the tests need to be run from the project's root
directory in order to access file system resources. As a
result those tests do not work when run on the device and so
they are marked with @Ignore.
Bug: 30244565
Test: Ran the junit-params-test using vogar
Change-Id: I8f1bd602d07bedec1340373ad5747e3565ce617d
|
|
The Class.getMethods() returns an array of methods from a class
and its interfaces and super class but specifies that the order
is undefined. The affected test indexes the array using an index
of 0, presumably because it assumes that the method defined in
the class comes before methods defined in the super class and
interfaces.
This is a bug in the upstream repository and is separated out
from the other patches to make it easier to push it to the
upstream repository.
Bug: 30244565
Change-Id: I9e267b53614a46497e04c73841d086b83b536570
Test: Once it compiles the tests will be run.
|
|
The classes are used to allow developers to customize
JUnitParams' handling of conversion from literal String values
to the type of parameters required by the parameterized test
methods.
This simply removes the code that uses the classes. That means
developers who require custom data types will have to accept
String parameters in their parameterized test methods and do the
conversions manually.
Bug: 30244565
Change-Id: I0dd479591d6fb60f0a08025c51ab3c9494c1bda2
Test: Once it compiles the tests will be run.
|
|
Adds README.version, README.google, MODULE_LICENSE_APACHE2 files
as required by the process (see b/30087411).
The code does not yet compile; it requires patching to work with
Android API and JUnit 4.10. Those patches will be added in
separate commits to make it easy to identify the Android
specific changes. All the changes will be submitted together.
Bug: 30244565
Change-Id: Icf556377478c3afdd644c5e4db0ff18898f496ae
Test: Once it compiles the tests will be run.
|