Running test runner against sources [message #1719475] |
Fri, 08 January 2016 04:25  |
Eclipse User |
|
|
|
Hi Guys,
Happy new year to all!
I was wondering if it is possible to run the test runner against sources instead of an actual RCP application?
Asking because we're deploying a project as plugins not as an RCP application.
cheers!
Joseph
|
|
|
|
|
Re: Running test runner against sources [message #1719805 is a reply to message #1719792] |
Tue, 12 January 2016 03:28   |
Eclipse User |
|
|
|
Hi Joseph
Our workflow looks as follows ( done on Jenkins unattended using multiple nodes, Linux & Windows for testing ) :
1. build from sources, when successful:
2. create custom test suites for tests,bugs,debug and unstable test ( this way we can run in parallel group of tests plus tester does not need to manage main test suite with all tests - just add proper tags. check github for python scripts )
3. execute in parallel on multiple nodes ( win and linux) separate suites
- during this step, clean eclipse is unziped, cli silent install is performed:
eclipse/eclipse -application org.eclipse.equinox.p2.director -nosplash -consoleLog --launcher.suppressErrors -repository jar:file:$RedFeatureFile\!/,http://download.eclipse.org/releases/mars/ -installIU org.robotframework.ide.eclipse.main.feature.feature.group -vmargs -Dosgi.requiredJavaVersion=1.7
4. after each group ends, html reports are updated with paths to failed test within RCPTT project (for our convenience).
Whole tests ( around 150 top level scenarios ) takes 50 minutes (we could shave it by 30-40% by profiling RED & RCPTT or including more parallel sets), additionally we have jobs to execute user selected test (takes ~60s to execute together with eclipse integration) .
|
|
|
|
|
|
Re: Running test runner against sources [message #1721005 is a reply to message #1720839] |
Fri, 22 January 2016 08:36   |
Eclipse User |
|
|
|
Hi
I may wrote it in wrong form, "local" is in my case a eclipse binary on CI node, not as "local" on my personal laptop.
On each CI node, we have a folder with binaries in "clean state"as zips, job unzips those binaries ( eclipse,rcptt runner) to job workspace ,does the feature install to eclipse and execute rcptt tests. After job is completed, workspace is deleted to preserve disk space.
We use consecutive execute shell blocks for our convenience and maintainability , all actions (copy bins, install feature, run tests, update report ) can be run within one shell block.
|
|
|
|
Re: Running test runner against sources [message #1721541 is a reply to message #1721528] |
Thu, 28 January 2016 03:37  |
Eclipse User |
|
|
|
#1 It depends on you setup and testing strategy. Even with good connection, it takes around 5-10 minutes to download Eclipse binary. When you need to use latest stable Eclipse release, it's better to cache it locally (either on node or in LAN).
In our setup, we preferred to store the eclipse zip on each CI node. As each node can run multiple jobs at the same time, we copy eclipse to each job workspace at pre setup, when job finishes, workspace with binaries is cleared. There was not big overhead (max 10s) of unzipping eclipse compared to using the old one from previous build so we decided to unzip clean on each build pass. It up to you.
#2 each job can consists of steps, with pre and post job steps as well. When using multiple run shell blocks just remember that any environments parameters and changes are visible in that block only. So for instance when you follow running RCPTT on linux tutorial, pay attention that metacity initialization should be in the same block as running Rcptt.
|
|
|
Powered by
FUDForum. Page generated in 0.10042 seconds