Hi Vitaly, generally LGTM, nice work! Reviewed-by: Petr Vorel <pvorel@xxxxxxx> I'd be also for splitting the test into more commits (if possible). Other suggestions: * rename function names and variables to be more understandable (e.g. a=$1 p=$2 h=$3 f=$4 isn't much readable). * there should be some records in .gitignore * rename tests/functions to tests/functions.sh * I'd define exit codes (77, 99, ...) as variables * Do you plan to use XFAIL:, XPASS: and ERROR: ? IMHO these are redundant. * posix compatible shell code (does really arrays and 'declare -i' and other bashisms needed?), but that'd take some effort, so it's up to you and Mimi. IMHO posix shell syntax is easier to read. Kind regards, Petr