Releases: buildtesters/buildtest
buildtest 0.3.0 release
buildtest 0.3.0 release
Summary of Changes
- Package buildtest as pypi package, now it can be installed via
pip install buildtest-framework
- Rename
buildtest
to_buildtest
and all code is now underbuildtest
- All buildtest repos are now packaged as pypi package and test are moved under
buildtest
directory - The option
--ebyaml
is now working with auto-complete feature and ability to create yaml files for software packages - Binary test are now created based on unique sha256sum see 92c0124
- Output of
--scantest
has been fixed and added to documentation - Add singularity CDASH script, need some more work on getting server setup properly
New options
--r-package
: build test for r packages--python-package
: build test for python packages--perl-package:
build test for perl packages--ruby-package
: build test for ruby packages--show-keys
: Display description of yaml keys
The option --testset
is removed and will be replaced by individual option for r, perl, python, ruby package options
Bug Fixes
- Fix issue with
--runtest
option, it was broken at some point now it is working as expected - Add extra configuration option in
config_opts
to reuse variable that were needed throughout code and fix bug with--sysyaml
see 493b53e - Fix bug with directory not found in menu,py by moving function
check_configuration
andoverride_configuration
from main.py to menu,py see d2c7807
buildtest release v0.2.0
buildtest release v0.2.0
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 methodget_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 asgcc
andGCC
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 bothHMNS
andFNS
module naming scheme and is able to operate on modules that don't follow easybuild module naming convention
buildtest release 0.1.8
buildtest release 0.1.8
The following features have been added in 0.1.8
- Automate batch job submission from buildtest via --submitjob
- Fix shell magic (#!/bin/sh, #!/bin/bash, #!/bin/csh) for binary test
- Tab completion for buildtest argument using argcomplete module. See ddb9e42
- autopopulate choice for --system, --sysyaml, and --software
- Fix output of -svr and resolve bug when 2 modules with same app/version found in different trees. Only in HMNS. See 7ddf91b for more details
- Group buildtest commands for ease of use.
- Support for yaml keys scheduler and jobslot to enable jobscript creation from yaml files. See 0fe4189
- Further support for scheduler and automatic detection. Currently supports LSF and SLURM.
buildtest release 0.1.7
buildtest 0.1.7 release
- Add support for creating LSF Job scripts via templates. Use buildtest --job-template see 927dc09
- Add support for creating YAML config for system package binary testing via buildtest --sysyaml see 4ab8870
- adding keys envvar, procrange, threadrange in YAML 9a21523 1524238 3d43b8a
- Add support for multiple shell (csh, bash, sh) see aea9d6f c154db8
- remove verbose option from buildtest
- major code refactor see fd8d466 9d112c0
- Fixed a bug during compiler detection when building GCC see f139756
- create a pretty menu for Interactive Testing via buildtest --runtest see 231cfeb
- replace shell commands subprocess.Popen() with python library equivalents
- Add support for --testset Tcl see 373cc1e
- Add support for --testset Ruby see c6b7133
- Print software in alphabetical order for -svr option see fcf6101
buildtest release 0.1.6
Features:
- Add support for FlatNamingScheme in buildtest, added flag --module-naming-scheme to control setting
- Add prototype functions
- get_appname()
- get_appversion()
- get_toolchain_name()
- get_toolchain_version()
- Add support for logging via Python Logger module
Bugs:
- Fix buildtest version, in 0.1.5 release buildtest was reporting version 1.0.1
- Provide clean termination when no easyconfig is found
- Fix issue when no toolchain is provided in CMakeList.txt
- Optimize nested loop when performing --software-version-relationship
buildtest release 0.1.5
buildtest-framework release 0.1.5
The buildtest repo has been moved from http://github.com/shahzebsiddiqui to http://github.com/HPC-buildtest
- Report what tests can be generated from buildtest through YAML files by using --scantest
- Fixed a bug with flag -svr that was related to structure of easybuild repo, now no dependency on easybuild repo. Also added pretty output
- Adding CONTRIBUTION page
- Fix out software, toolchain, and easyconfig check is done. Arguments to --software and --toolchain must go through module check, then toolchain check, and then finally easyconfig check
- Add support for --check-setup which can be used to determine if buildtest framework is setup properly
- Add interactive testing via buildtest --runtest which is menu-driven with ability to run all tests, or run individual test directory in menu and see output
- Fix some issues with --testset and now buildtest reports number of tests generated not the path for each test to limit output. For --testset like R, Python, Perl buildtest will report generated test for each package
- buildtest will now use eb --list-toolchains to get list of all toolchains for toolchain check
- Can properly generate tests via --testset when R, Python, and Perl repos were created and moved out of buildtest-configs
- Add buildtest -V for version display
There has been lots of restructuring of code. There still needs some improvement for organizing scripts by functions
Code Restructure and Logging Changes
buildtest 0.1.4 release
Major code restructure around processing binary test and support for logging environment variable
BUILDTEST_LOGCONTENT
BUILDTEST_LOGDIR
BUILDTEST_LOGFILE
Provide get functions to retrieve value from arg.parser 6006027
Add support for Perl with --testset cc96eb9
Add for more logging support in module and eb verification
buildtest add supports for more YAML keys and testsets
buildtest version 0.1.3
There have been several changes in the buildtest framework to allow for more capabilities.
The following changes have been done in this release
- buildtest can generate binary test for same executable with multiple parameters. See 2203a8d
- Adding support for R, Perl and Python with more tests.
- R, Python, Perl (soon to come), and MPI tests are organized in testset using --testset flag see dac986b
this allows for multiple packages to reuse tests across different apps. For instance OpenMPI, MPICH, MVAPICH and intel can now reference the mpi testset. - Add support for inputfile YAML key to allow input redirection into program. See 6ef1dc5
- Add support for outputfile YAML key to allow output redirection. See a54cb59
- Add support for argument passing using arg key word see eca0ec6
- Add support for iter YAML key to allow N tests to be created. 859d197
- Switching BUILDTEST_MODULEROOT to BUILDTEST_MODULE_EBROOT to emphasize module tree should be coming from what easybuild generates.
- Fixed some bugs pertaining to CMakeLists.txt
Add support for logging and search tests scripts and YAML configs
Add support for logging and search tests scripts and YAML configs
The current release add supports for logging by default.
buildtest will now report useful operations for each function call that can be used for troubleshooting. The logs work with options like --verbose to report extra details in log file.
The logs display output on the following
- Verification of software and toolchain with module file and easyconfig parameters
- Display output of each test generated
- Display changes to any CMakeLists.txt
- Output key values from YAML configs
- Output log from ancillary features like (--list-toolchain, --list-unique-software, --software-version-relation)
buildtest can now search YAML configs and buildtest generated test scripts using the command -fc and -ft
Now all buildtest-config files are removed and migrated to https://github.com/shahzebsiddiqui/buildtest-configs
buildtest enhancements
buildtest feature improvements
In this release, we have restructured the source directory. Now there are two sub directories
- ebapps
- system
buildtest can now support binary tests for system packages. There is a command.yaml file for each system package in its own directory. Each system package is in its own subdirectory where the name of the directory is the name of the system package. buildtest is using RHEL7 package names as reference.
The following system package tests have been added
- binutils
- chrony
- git
- hwloc
- ncurses
- pinfo
- procps-ng
- sed
- time
- wget
Compile from source YAML scripts can now be stored in subdirectories. buildtest can now generate tests in sub directory, this would be essential for building tests for R, Python, Ruby, Perl, etc...
Tests for the following EB apps have been added:
- Python
- blist
- cryptography
- Cython
- dateutil
- deap
- funcsigs
- mpi4py
- netaddr
- netifaces
- nose
- numpy
- os
- paramiko
- paycheck
- pytz
- scipy
- setuptools
Added python documentation header for each function and GPL license section in all the files