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

