smart-testing icon indicating copy to clipboard operation
smart-testing copied to clipboard

feat: Introduced additonal parallelism to the test suite execution

Open MatousJobanek opened this issue 8 years ago • 12 comments

  • the test-bed build uses Maven parallelism with 50 threads per cpu core
  • the same is used for build invocation on Travis (could be used locally)
  • the Travis is building in three virtual machines at once:
    • one for unit tests
    • one for functional tests - to separate unit tests and functional tests I had to introduce two profiles inside of the pom files
    • one for generating documentation - no to do it in the previous builds/vm twice
  • speeding up Java startup using properties: -XX:+TieredCompilation -XX:TieredStopAtLevel=1

Fixes #126

MatousJobanek avatar Oct 03 '17 15:10 MatousJobanek

So the idea is to merge both PRs right? And thank you.

El 3 oct. 2017 5:02 p. m., "Matous Jobanek" [email protected] escribió:

  • the test-bed build uses Maven parallelism with 50 threads per cpu core
  • the same is used for build invocation on Travis (could be used locally)
  • the Travis is building in three virtual machines at once:
    • one for unit tests
    • one for functional tests - to separate unit tests and functional tests I had to introduce two profiles inside of the pom files
    • one for generating documentation - no to do it in the previous builds/vm twice
  • speeding up Java startup using properties: -XX:+TieredCompilation -XX:TieredStopAtLevel=1

Fixes #126 https://github.com/arquillian/smart-testing/issues/126

You can view, comment on, or merge this pull request online at:

https://github.com/arquillian/smart-testing/pull/204 Commit Summary

  • feat: Introduced additonal parallelism to the test suite execution

File Changes

Patch Links:

  • https://github.com/arquillian/smart-testing/pull/204.patch
  • https://github.com/arquillian/smart-testing/pull/204.diff

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/arquillian/smart-testing/pull/204, or mute the thread https://github.com/notifications/unsubscribe-auth/ABcmYQtMStoQz0nySDeAV8bWKTtVLLzjks5sokxrgaJpZM4PsRCd .

lordofthejars avatar Oct 03 '17 15:10 lordofthejars

yup - they are different solutions => separated PRs. Yours is important as well - to minimize the test suite

MatousJobanek avatar Oct 03 '17 15:10 MatousJobanek

Yeah, I'm not a huge fan of profiles either so I completely understand your point/feeling. On the other hand, I would really welcome a simple way of executing only unit tests - just an example of the practical usage on the command line. In addition, there is no change of the usage - you can still use the original standard command of building/testing the whole project. Anyway, I'll rebase it with the latest changes, compare the time and if there is an improvement in the build time, then I'll add the explanation and finish the PR.

  • [x] rebase
  • [ ] compare the build time
  • [ ] add documentation explanation

MatousJobanek avatar Oct 06 '17 15:10 MatousJobanek

I would really welcome a simple way of executing only unit tests - just an example of the practical usage on the command line.

mvn test won't work here?

bartoszmajsak avatar Oct 09 '17 08:10 bartoszmajsak

mvn test won't work here?

nope, that will execute the whole test suite

MatousJobanek avatar Oct 09 '17 08:10 MatousJobanek

This brings an interesting question. How about removing the profiles and configure the failsafe plugin for functional tests? Then it would be possible to run only unit tests using mvn clean test, we could still have separated builds in Travis and we would get rid of the profiles...

MatousJobanek avatar Oct 09 '17 12:10 MatousJobanek

The build times are pretty weird - in my Travis account, the build takes 15:41 but here on arquillian's 19:17 Similarly look also the Maven builds of the project: on my travis account 13:53 on Arquillian's account 17:26 The differences are quite huge and seem to be stable. Any idea what could be the cause? How about your accounts? Are they also faster? @bartoszmajsak @lordofthejars @hemanik @dipak-pawar

MatousJobanek avatar Oct 13 '17 13:10 MatousJobanek

This brings an interesting question. How about removing the profiles and configure the failsafe plugin for functional tests? Then it would be possible to run only unit tests using mvn clean test, we could still have separated builds in Travis and we would get rid of the profiles...

That's exactly what was the bottom line of my short question :)

bartoszmajsak avatar Oct 18 '17 06:10 bartoszmajsak

The build times are pretty weird

Could that be that there are other projects under arq organization which had running builds at the same time? Might be that we have resources constraints per organization on Travis.

I would simply measure against one of the places - preferably most isolated one - to compare before/after time.

bartoszmajsak avatar Oct 18 '17 06:10 bartoszmajsak

What do we do with this work @MatousJobanek ?

bartoszmajsak avatar Oct 25 '17 07:10 bartoszmajsak

I'll park it for a while and return back to it when I have time

MatousJobanek avatar Oct 27 '17 07:10 MatousJobanek

I re-opened and added "on hold" label so we won't miss it.

bartoszmajsak avatar Oct 27 '17 07:10 bartoszmajsak