Hello EasyBuilders,

The current develop branches of the EasyBuild repositories now contain a 
significantly more extensive suite of unit tests,
which will also be part of future EasyBuild releases.

Unit testing suites for the easybuild-easyblocks and easybuild-easyconfigs 
repositories were added,
which currently yields about 1,200 unit tests in total for a particular 
repository branch and Python version.
This will help in keeping the develop branches more stable in the future.

For easybuild-easyblocks, every easyblock is sanity checked by instantiating an 
object for the class it provides.
This helps in catching mistakes like missing imports and syntax errors that can 
be easily overlooked during code review.

For easybuild-easyconfigs, every easyconfig file is parsed, and an easyblock 
for that easyconfig is instantiated.
Next to that, a full dependency graph of all available easyconfig files is 
constructed, to make sure that all dependencies can be resolved.

Note that these tests are orthogonal to (much more resource-demanding) 
regression testing, which is still the only way to really functionally test 
EasyBuild.

The unit tests are automatically run for Python 2.4, 2.6 and 2.7 on every push 
to the corresponding repository and branch,
and can potentially trigger running other unit test suites (i.e. 
easybuild-framework triggers easybuild-easyblocks, and easybuild-easyblocks 
triggers easybuild-easyconfigs).
Test results can be viewed via our Jenkins server, see 
https://jenkins1.ugent.be/view/EasyBuild/ .


Please try and run the relevant unit tests for your pull requests, to avoid 
breaking test cases when they are merged in.

For more information, see 
https://github.com/hpcugent/easybuild/wiki/Unit-and-regression-testing, which 
was updated to reflect the new unit testing setup.


regards,

Kenneth

Reply via email to