GitHub user ham1 opened a pull request:
https://github.com/apache/jmeter/pull/350
Parallelised unit tests
## Description
introduced `JMeterSerialTest` interface for tests which need to be run in
sequence not concurrently.
Re-wrote `TestFileServer` in Spock to use private constructor to get around
singleton and make clearer to understand.
Added a test listener to time and log to file time taken for each unit test.
Also refactored/re-formatted some code while investigating parallel test
failures.
`ant _test` time on a 4 core laptop:
before: 1m 19s
after: 51s
on an 8 core PC:
before: 59s
after: 31s
I'd welcome more testing on different configurations and review.
## Motivation and Context
Speed up feedback
## How Has This Been Tested?
100 iterations of `ant _test` on an 8 core machine
50 iterations of `ant _test` on a 4 core machine
## Screenshots (if appropriate):
## Types of changes
- Dev improvement
## Checklist:
- [x] My code follows the [code style][style-guide] of this project.
- [x] I have updated the documentation accordingly.
[style-guide]: https://wiki.apache.org/jmeter/CodeStyleGuidelines
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ham1/jmeter parallelise_unit_tests
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/jmeter/pull/350.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #350
commit 8e1c2b65221bccdcf93e29da6cd1875d016685b5
Author: Graham Russell
Date: 2017-12-06T17:32:55Z
Parallelised unit tests.
Introduced JMeterSerialTest interface for tests which need to be run
individually in sequence not concurrently.
Re-wrote TestFileServer in Spock to use private constructor to get around
singleton.
Also refactored/re-formatted some code while investigating parallel test
failures.
---