===============
This is a major release update on buildtest with additional options and most importantly ability to test software stack without easybuild. buildtest can be used to test multiple software trees, with ability to disable easybuild check for software stack built without easybuild. The easybuild verification in buildtest has been simplified and it can easily report which software is built by easybuild.
buildtest can report difference between 2 module trees and multiple module trees can be specified at same time for building test, and listing software, and software-version. There has been some improvement on how buildtest operates with ``Flat-Naming-Scheme (FNS)`` module naming scheme for module tree. Basically you don't need to use ``--toolchain`` option with buildtest if you are using ``FNS`` naming scheme but for ``HMNS`` module tree you will need to use ``--toolchain`` option
Summary of changes
-----------------------
* Add short option ``-mns`` for ``--module-naming-scheme`` and report total count for software, toolchain and software-version for options ``-ls``, ``-lt``, ``-svr``
* Adding options ``--clean-logs``, ``--clean-tests`` for removing directories via command line
* The file ``config.yaml`` is used to modify buildtest configuration and users can modify this to get buildtest working.
* Environment variables can override configuration in ``config.yaml`` to allow further flexibility
* add option ``--logdir`` to specify alternate path from the command line
* remove option ``--check-setup``
* buildtest can operate on multiple module trees for option ``-ls`` and ``-svr``
* rename option ``--modules-to-easyconfigs`` to ``--easyconfigs-to-moduletrees`` with a short option ``-ecmt``
* add option to show difference between module trees using ``--diff-tree``
* Fixed a bug where ``.version`` files were reported in method ``get_module_list``
* Add option ``--ignore-easybuild`` to disable easybuild check for a module tree
* rename buildtest variables in source code
* add option ``--show`` to display buildtest configuration
* add option ``--enable-job`` to enable Job integration with buildtest this is used with options ``--job-template``
* rename all sub-directories in repo ``BUILDTEST_CONFIGS_REPO`` to lowercase to allow buildtest to generate tests if software is lower case such as ``gcc`` and ``GCC`` in the module file. This enables buildtest to operate with module trees that dont follow easybuild convention
* buildtest will only generate tests for packages in python, R, ruby, perl when using ``--testset`` option if software has these packages installed. This avoids having to create excess test when they are bound to fail
* ``--testset`` option now works properly for both ``HMNS`` and ``FNS`` module naming scheme and is able to operate on modules that don't follow easybuild module naming convention