On Tue, 10 Jul 2018 at 13:00, Milosz Wasilewski <milosz.wasilewski@linaro.org> wrote:
On 10 July 2018 at 12:52, Tim Jaacks <tim.jaacks@garz-fricke.com> wrote:
> in the meantime I managed to set up a template structure along with a script to construct job definitions suiting our needs. Thanks again for your help.
> I have a further question: As far as I see, everyone seems to keep job definitions (or templates for those) and test definitions in separate repositories. Is there a certain reason for this? Why shouldn't I put job templates and test definitions that belong together side by side in the same folder?

I don't know of anything that should stop you from doing that. In our
case we try to keep tests 'executor agnostic'. So they can be ran
outside of LAVA and don't depend on any LAVA wrapper scripts. But that
isn't something mandatory. So if you feel like locking your tests to
LAVA you can do that.

​LAVA documentation does recommend the portability that Milosz describes. 

The git repository location doesn't have to affect portability but portability is a worthwhile goal in and of itself. We are looking at a future version of the Lava Test Shell Definition which would remove as many of the current wrapper scripts as we can - especially the installer helpers and OS-specific wrappers.

More of a potential problem is that the git history can get large if there are a lot of unrelated changes - template changes and test job changes and test definition changes. LAVA software supports shallow clones by default and removing the git history entirely in each test definition but there are still situations where the test definition repository is too large, when cloned, to fit into the ramdisk or other system used on the DUT. 

So it's not that you shouldn't keep the files together, it's more that separation has useful benefits and you are future proofing yourself more effectively by using separation. Just imagine having to separate these out at some point in the future. Lots of small repos are more efficient during testing than repeatedly cloning one huge repository for every test job. (This is also an argument for not only separating templates from test definitions but separating different types of test definitions into their own repositories.)

Best Regards,


Neil Williams