Enhance parallel testing junit_tests

Review Request #3707 - Created April 16, 2016 and submitted

Information
Eric Ayers
pants
zundel/respin-parallel-methods-pants
3191, 3210, 3262
3753
c400c81...
Reviewers
pants-reviews
benjyw, gmalmquist, jsirois, stuhood

Surfaces EXPERIMENTAL support for parallel testing of methods within a test class.
- Adds a 'concurrency' parameter to set test concurrency to 'SERIAL' 'PARALLEL_CLASSES', 'PARALLEL_METHODS', or 'PARALLEL_BOTH'
- Adds a 'threads' parameter to junit_tests to control concurrency.
- Adds a --test-junit-default-concurrency option
- PARALLEL_BOTH will allow both classes and methods to run in parallel for the entire test run
- PARALLEL_METHODS (just run methods within a class in parallel) is flagged as not implemented
- Added a number of unit test cases and integration tests to exercise these features

Note that there is a bug in that the @TestSerial annotation is not respected when the -parallel-methods flag is in use. See https://github.com/pantsbuild/pants/issues/3209

Followup work for this change is to add an @TestParallelMethods annotation and come up with a more rational way to
pass concurrency options to the junit-runner backend.

Integration test and additional unit tests added.
CI is green at https://travis-ci.org/pantsbuild/pants/builds/125429738

Issues

  • 0
  • 5
  • 0
  • 5
Description From Last Updated
Eric Ayers
Benjy Weinberger
Eric Ayers
Benjy Weinberger
Eric Ayers
Paul Sharpe
Wei An
Eric Ayers
Eric Ayers
Eric Ayers
Eric Ayers
Eric Ayers
Garrett Malmquist
Chris Heisterkamp
Eric Ayers
Review request changed

Status: Closed (submitted)

Change Summary:

Thanks for the reviews Benjy, Wei, Garrett, and Chris. In master @ d5c18bd

Loading...