commit 02302f89a2b01103c252e251eabd65aca0fae7c7 Author: Eric Ayers Date: Mon May 23 18:39:05 2016 -0400 Adds in the experimental test runner Adds an experimental test runner based on the JUnit Computer interface. This interface can only run whole classes at a time, so we still use the legacy test runner for Serial tests. Testing Done: CI green at https://travis-ci.org/pantsbuild/pants/builds/132262917 Bugs closed: 3486 Reviewed at https://rbcommons.com/s/twitter/r/3921/ .../tools/junit/impl/ConsoleRunnerImpl.java | 32 ++++++- src/java/org/pantsbuild/tools/junit/impl/Spec.java | 6 ++ .../org/pantsbuild/tools/junit/impl/SpecSet.java | 45 ++++++++++ .../impl/experimental/ConcurrentComputer.java | 97 ++++++++++++++++++++++ .../ConcurrentTestRunnerException.java | 13 +++ 5 files changed, 189 insertions(+), 4 deletions(-) commit defdfaadce7aa4a9e0e75dc62284467a522bd2b7 Author: Eric Ayers Date: Mon May 23 18:38:56 2016 -0400 Flush out some bugs with the 'parallel methods' running in the legacy runner. A few bugs were brought to the light after adding -default-concurrency PARALLEL_METHODS around running all tests. - Some tests were not properly being ignored and caused extra XML output. - The list of sharded tests was not deterministic. This is because the method list returned by Class.getMethods() does not return methods in a deterministic order. These problems would have only been seen by someone using the experimental PARALLEL_METHODS mode of running the test runner so shouldn't have much impact for existing users. Fixes: - Use the parameterized test runner to run with -default-concurrency PARALLEL_METHODS. - Extract TestMethod to a standalone class an34d add tests. - Make sure list of TestMethods created in a deterministic order. - Make sure that we only consider testable, runnable classes before making requests for each method. - Consolidate functions that analyze test classes into the Util class. - Add more tests for the Util class. Testing Done: CI is green at https://travis-ci.org/pantsbuild/pants/builds/132169647 Bugs closed: 3488 Reviewed at https://rbcommons.com/s/twitter/r/3922/ .../tools/junit/impl/ConsoleRunnerImpl.java | 41 ++++------- .../pantsbuild/tools/junit/impl/SpecParser.java | 44 +----------- .../pantsbuild/tools/junit/impl/TestMethod.java | 68 ++++++++++++++++++ src/java/org/pantsbuild/tools/junit/impl/Util.java | 81 ++++++++++++++++++++++ 4 files changed, 164 insertions(+), 70 deletions(-) commit 76c8411a272e741d8541d8ea7593bb8b1f561470 Author: Eric Ayers Date: Sun May 22 08:30:44 2016 -0400 Parameterize the test runner so it can re-run all tests with paralleism enabled. This is a bit more infrastructure around testing before landing the experimental test runner. - Parameterizes the ConsoleRunnerTestBase so it can re-run all tests with parallelism enabled by default. - Moves some tests around, making a separate XMLReport test. - Moves some test classes from the impl to the lib package. - Remove the -parallel-methods argument. It was marked experimental - Prepares for re-running all tests with the experimental test runner on. Testing Done: Tests green at https://travis-ci.org/pantsbuild/pants/builds/132057711 Bugs closed: 3845 Reviewed at https://rbcommons.com/s/twitter/r/3920/ .../tools/junit/impl/ConsoleRunnerImpl.java | 36 ++++++++-------------- 1 file changed, 13 insertions(+), 23 deletions(-)