History log of /external/vogar/src/vogar/target/junit/TimeoutAndAbortRunRule.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
654f21617c60f23069912900a1e1ef11e9e1c742 24-Mar-2016 Paul Duffin <paulduffin@google.com> Use JUnit classes for running JUnit4 tests

Removes the custom code for handling JUnit4 classes and switches
to use standard JUnit classes, albeit heavily customised.

A couple of changes to the tests:
* TestRunnerJUnit4Test#testRunner_SuiteTest
The order is different from previous version of Vogar as that
sorted a flattened list but JUnit has it organized as a
hierarchy and sorts each parent's children separately so tests
which have a different parent like SimpleTest2 and SimpleTest3
are not sorted relative to each other.
* TestRunnerJUnit4Test#testRunner_AnnotatedMethodsTest
Added test because Vogar can now handle the annotations
@BeforeClass/AfterClass. It could not do that previously
because it had a flat list rather than grouping tests by
class.
* MockitoFieldTest
Added @RunWith(MockitoJUnitRunner.class) to replace the
reflective call to MockitoAnnotations.initMocks(Object) that
was previously done for all JUnit 4 tests. Presumably, Vogar
did that because it only had a partial implementation of JUnit
4 test running infrastructure and so could not support the
@RunWith mechanism.

The removal of the implicit reflective call to
MockitoAnnotations.initMocks(Object) does change the behavior
but was removed anyway because:
* There do not appear to be any tests that depend on it, at
least not in aosp/master.
* There are not many JUnit 4 tests because Vogar does not
support it very well.
* Vogar is primarily for Android developers and most of the
tests that they run they write will also be part of CTS which
requires that they do something in the test to initialize the
@Mock annotated fields, e.g. use
@RunWith(MockitoJUnitRunner.class) or explicitly call
MockitoAnnotations.initMocks(this).
* Given that Vogar now supports standard JUnit 4 it is easy to
fix any broken tests.
* It's not particularly helpful.

Testing: Build vogar-tests and run them,
run art/tools/run-libcore-tests.sh

Bug: 27940141
Change-Id: I9fd993395b52620162176a4d4c5930ded746857c
/external/vogar/src/vogar/target/junit/TimeoutAndAbortRunRule.java