1 changed files with 95 additions and 0 deletions
@ -0,0 +1,95 @@
@@ -0,0 +1,95 @@
|
||||
#!/bin/bash |
||||
# https://gist.github.com/anthonyaxenov/b17c6fbd7895c6049e1ceddc7c54bb5b |
||||
. ./io.sh |
||||
|
||||
######################################################## |
||||
# Тестировочные функции |
||||
# Позволяют проверять результаты выполнения команд |
||||
######################################################## |
||||
|
||||
# тестирует выполнение команды с указанными параметрами |
||||
# $1 - команда для тестирования (обяз) |
||||
expect_exec() { |
||||
[ "$1" ] || exit 1 |
||||
local prefix="`dt`${BOLD}${FWHITE}[TEST EXEC]" |
||||
if $($1 1>/dev/null 2>&1); then |
||||
local text="${BGREEN} PASSED" |
||||
else |
||||
local text="${BLRED} FAILED" |
||||
fi |
||||
print "${prefix} ${text} ${BRESET} ($?):${RESET} $1" |
||||
} |
||||
|
||||
# использование: |
||||
|
||||
# func1() { |
||||
# return 0 |
||||
# } |
||||
# func2() { |
||||
# return 1 |
||||
# } |
||||
# expect_exec "func1" # PASSED |
||||
# expect_exec "func2" # FAILED |
||||
# expect_exec "whoami" # PASSED |
||||
|
||||
# тестирует выполнение команды с указанными параметрами и проверяет вывод |
||||
# $1 - команда для тестирования (обяз) |
||||
# $2 - ожидаемый вывод |
||||
expect_output() { |
||||
[ "$1" ] || exit 1 |
||||
[ "$2" ] && local expected="$2" || local expected='' |
||||
local prefix="`dt`${BOLD}${FWHITE}[TEST OUTP]" |
||||
local output=$($1 2>&1) |
||||
local code=$? |
||||
if [[ "$output" == *"$expected"* ]]; then |
||||
local text="${BGREEN} PASSED" |
||||
else |
||||
local text="${BLRED} FAILED" |
||||
fi |
||||
print "${prefix} ${text} ${BRESET} (${code}|${expected}):${RESET} $1" |
||||
# print "\tOutput > $output" |
||||
} |
||||
|
||||
# использование: |
||||
|
||||
# func1() { |
||||
# echo "some string" |
||||
# } |
||||
# func2() { |
||||
# echo "another string" |
||||
# } |
||||
# expect_output "func1" "string" # PASSED |
||||
# expect_output "func2" "some" # FAILED |
||||
# expect_output "func2" "string" # PASSED |
||||
|
||||
# тестирует выполнение команды с указанными параметрами и проверяет код выхода |
||||
# $1 - команда для тестирования (обяз) |
||||
# $2 - ожидаемый код выхода |
||||
expect_code() { |
||||
[ "$1" ] || exit 1 |
||||
[ "$2" ] && local expected=$2 || local expected=0 |
||||
local prefix="`dt`${BOLD}${FWHITE}[TEST CODE]" |
||||
$($1 1>/dev/null 2>&1) |
||||
local code=$? |
||||
if [[ $code -eq $expected ]]; then |
||||
local text="${BGREEN} PASSED" |
||||
else |
||||
local text="${BLRED} FAILED" |
||||
fi |
||||
print "${prefix} ${text} ${BRESET} (${code}|${expected}):${RESET} $1" |
||||
} |
||||
|
||||
# использование: |
||||
|
||||
# func1() { |
||||
# # exit 0 |
||||
# return 0 |
||||
# } |
||||
# func2() { |
||||
# # exit 1 |
||||
# return 1 |
||||
# } |
||||
# expect_code "func1" 0 # PASSED |
||||
# expect_code "func1" 1 # FAILED |
||||
# expect_code "func2" 0 # FAILED |
||||
# expect_code "func2" 1 # PASSED |
Loading…
Reference in new issue