Skip to content

Releases: buildtesters/buildtest

buildtest 0.3.0 release

07 Aug 19:29
Compare
Choose a tag to compare
Pre-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 under buildtest
  • 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 and override_configuration from main.py to menu,py see d2c7807

buildtest release v0.2.0

18 May 14:11
Compare
Choose a tag to compare
Pre-release

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 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

buildtest release 0.1.8

27 Feb 15:19
a3aa301
Compare
Choose a tag to compare
Pre-release

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

27 Feb 15:13
Compare
Choose a tag to compare
Pre-release

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

27 Feb 15:12
Compare
Choose a tag to compare
Pre-release

Features:

  1. Add support for FlatNamingScheme in buildtest, added flag --module-naming-scheme to control setting
  2. Add prototype functions
  • get_appname()
  • get_appversion()
  • get_toolchain_name()
  • get_toolchain_version()
  1. 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

27 Feb 15:05
Compare
Choose a tag to compare
Pre-release

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

27 Feb 15:02
Compare
Choose a tag to compare
Pre-release

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

27 Feb 14:56
Compare
Choose a tag to compare

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

  1. buildtest can generate binary test for same executable with multiple parameters. See 2203a8d
  2. Adding support for R, Perl and Python with more tests.
  3. 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.
  4. Add support for inputfile YAML key to allow input redirection into program. See 6ef1dc5
  5. Add support for outputfile YAML key to allow output redirection. See a54cb59
  6. Add support for argument passing using arg key word see eca0ec6
  7. Add support for iter YAML key to allow N tests to be created. 859d197
  8. Switching BUILDTEST_MODULEROOT to BUILDTEST_MODULE_EBROOT to emphasize module tree should be coming from what easybuild generates.
  9. Fixed some bugs pertaining to CMakeLists.txt

Add support for logging and search tests scripts and YAML configs

27 Feb 14:50
Compare
Choose a tag to compare

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

27 Feb 14:45
Compare
Choose a tag to compare
Pre-release

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
    1. blist
    2. cryptography
    3. Cython
    4. dateutil
    5. deap
    6. funcsigs
    7. mpi4py
    8. netaddr
    9. netifaces
    10. nose
    11. numpy
    12. os
    13. paramiko
    14. paycheck
    15. pytz
    16. scipy
    17. setuptools

Added python documentation header for each function and GPL license section in all the files