parent
6748131de7
commit
67e27b043d
@ -0,0 +1,3 @@
|
|||||||
|
__pycache__/
|
||||||
|
.vagrant/
|
||||||
|
.idea/
|
@ -0,0 +1,125 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
flunk() {
|
||||||
|
{ if [ "$#" -eq 0 ]; then cat -
|
||||||
|
else echo -e "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_success() {
|
||||||
|
if [[ 0 -ne "$status" ]]; then
|
||||||
|
flunk "command failed with exit status ${status}\\noutput: ${output}"
|
||||||
|
elif [ "$#" -gt 0 ]; then
|
||||||
|
assert_output "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_failure() {
|
||||||
|
if [[ 0 -eq "$status" ]]; then
|
||||||
|
flunk "expected failed exit status"
|
||||||
|
elif [ "$#" -gt 0 ]; then
|
||||||
|
assert_output "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_equal() {
|
||||||
|
if [[ "$1" != "$2" ]]; then
|
||||||
|
{ echo "expected: $1"
|
||||||
|
echo "actual: $2"
|
||||||
|
} | flunk
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_different() {
|
||||||
|
if [[ "$1" == "$2" ]]; then
|
||||||
|
{
|
||||||
|
echo "expected: $1 != $2"
|
||||||
|
} | flunk
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_match() {
|
||||||
|
out="${2:-${output}}"
|
||||||
|
if [ ! $(echo "${out}" | grep -- "${1}") ]; then
|
||||||
|
{ echo "expected match: $1"
|
||||||
|
echo "actual: $out"
|
||||||
|
} | flunk
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_not_match() {
|
||||||
|
out="${2:-${output}}"
|
||||||
|
if [ $(echo "${out}" | grep -- "${1}") ]; then
|
||||||
|
{ echo "unexpected match: $1"
|
||||||
|
echo "source: $out"
|
||||||
|
} | flunk
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_output() {
|
||||||
|
local expected
|
||||||
|
if [ $# -eq 0 ]; then expected="$(cat -)"
|
||||||
|
else expected="$1"
|
||||||
|
fi
|
||||||
|
assert_equal "$expected" "$output"
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_line() {
|
||||||
|
if [ "$1" -ge 0 ] 2>/dev/null; then
|
||||||
|
assert_equal "$2" "${lines[$1]}"
|
||||||
|
else
|
||||||
|
local line
|
||||||
|
for line in "${lines[@]}"; do
|
||||||
|
if [ "$line" = "$1" ]; then return 0; fi
|
||||||
|
done
|
||||||
|
flunk "expected line \`$1' in \n $output"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
refute_line() {
|
||||||
|
if [ "$1" -ge 0 ] 2>/dev/null; then
|
||||||
|
local num_lines="${#lines[@]}"
|
||||||
|
if [ "$1" -lt "$num_lines" ]; then
|
||||||
|
flunk "output has $num_lines lines"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
local line
|
||||||
|
for line in "${lines[@]}"; do
|
||||||
|
if [ "$line" = "$1" ]; then
|
||||||
|
flunk "expected to not find line \`$line'"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_include() {
|
||||||
|
eval 'local values=("${'$1'[@]}")'
|
||||||
|
|
||||||
|
local element
|
||||||
|
for element in "${values[@]}"; do
|
||||||
|
[[ "$element" == "$2" ]] && return 0
|
||||||
|
done
|
||||||
|
|
||||||
|
flunk "failed: array ${values[*]} not include $2}"
|
||||||
|
}
|
||||||
|
|
||||||
|
assert() {
|
||||||
|
if ! "$@"; then
|
||||||
|
flunk "failed: $@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_running() {
|
||||||
|
ps aux | grep $1 >> /dev/null
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
flunk "process with id $1 is not running"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_not_running() {
|
||||||
|
if [ -d /proc/$1 ]; then
|
||||||
|
flunk "process with id $1 is running"
|
||||||
|
fi
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -uo pipefail
|
||||||
|
|
||||||
|
|
||||||
|
function check_test_status {
|
||||||
|
local exit_code=$?
|
||||||
|
if [ ${1} -ne 0 ]; then
|
||||||
|
echo "test [FAILED]: $2 Code: $1"
|
||||||
|
else
|
||||||
|
echo "test [PASSED]: $2"
|
||||||
|
fi
|
||||||
|
return ${exit_code}
|
||||||
|
}
|
||||||
|
|
||||||
|
function eq_is_success {
|
||||||
|
local exit_code=$?
|
||||||
|
local check=$1
|
||||||
|
if [[ ${exit_code} -ne ${2} ]]; then
|
||||||
|
let check+=1
|
||||||
|
fi
|
||||||
|
echo ${check}
|
||||||
|
return ${exit_code}
|
||||||
|
}
|
||||||
|
|
||||||
|
function not_eq_is_success {
|
||||||
|
local exit_code=$?
|
||||||
|
local check=$1
|
||||||
|
if [[ ${exit_code} -eq ${2} ]]; then
|
||||||
|
let check+=1
|
||||||
|
fi
|
||||||
|
echo ${check}
|
||||||
|
return ${exit_code}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
/bin/systemctl status --no-pager mariadb | /bin/grep -E 'running;|enabled;'
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
systemctl enable mariadb
|
||||||
|
systemctl restart mariadb
|
||||||
|
|
||||||
|
exit 0
|
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
/bin/systemctl status --no-pager postgresql | /bin/grep -E 'running;|enabled;'
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
postgresql-setup --initdb
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
|
||||||
|
systemctl enable postgresql
|
||||||
|
systemctl restart postgresql
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Подготовка окружения для тестирования пакета ${TEST_PACKAGE_NAME}"
|
||||||
|
|
||||||
|
dnf -y install man man-pages util-linux
|
||||||
|
|
||||||
|
exit 0
|
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
echo "Тест наличия bugzilla ссылок"
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
test_gcc_v(){
|
||||||
|
echo "INFO: Testing bugzilla URL in gcc -v"
|
||||||
|
gcc -v 2>&1 | grep "\-\-with\-bugurl=https://bugs.msvsphere.ru/"
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
test_gcc_man_page(){
|
||||||
|
echo "INFO: Testing bugzilla URL in man gcc"
|
||||||
|
/bin/man -P /bin/cat gcc | /bin/grep https://bugs.msvsphere.ru/
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
############
|
||||||
|
# Run tests
|
||||||
|
test_gcc_v
|
||||||
|
test_gcc_man_page
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
echo "Тест компилятора"
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
gcc -o simple_test files/simple_test.c
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
|
||||||
|
./simple_test | grep -E '^Hello, world!$'
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
@ -0,0 +1,10 @@
|
|||||||
|
// simple-test.c
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main ( void )
|
||||||
|
{
|
||||||
|
printf ("Hello, world!");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
} // main
|
@ -0,0 +1 @@
|
|||||||
|
../p_grub2-efi-x64/001-prepare_environment.sh
|
@ -0,0 +1 @@
|
|||||||
|
../p_grub2-efi-x64/01-files-check.sh
|
@ -0,0 +1 @@
|
|||||||
|
../p_grub2-efi-x64/02-pesigcheck.sh
|
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Подготовка окружения для тестирования пакета ${TEST_PACKAGE_NAME}"
|
||||||
|
|
||||||
|
# Установка вспомогательных пакетов
|
||||||
|
dnf install -y sphere-sb-certs pesign
|
||||||
|
|
||||||
|
exit 0
|
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
echo "Тест наличия файлов пакета ${TEST_PACKAGE_NAME}"
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
if [[ "${TEST_PACKAGE_NAME}" != "grub2-efi-x64" ]] && [[ "${TEST_PACKAGE_NAME}" != "grub2-efi-x64-cdboot" ]]; then
|
||||||
|
echo "ERROR: Неверное имя пакета - '${TEST_PACKAGE_NAME}'. Этот тест предназначен для пакетов grub2-efi-x64 и grub2-efi-x64-cdboot"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${TEST_PACKAGE_NAME}" == "grub2-efi-x64" ]]; then
|
||||||
|
_FILE1='/boot/efi/EFI/msvsphere/grubx64.efi'
|
||||||
|
else
|
||||||
|
_FILE1='/boot/efi/EFI/msvsphere/gcdx64.efi'
|
||||||
|
fi
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
if [[ ! -f "${_FILE1}" ]]; then
|
||||||
|
echo "ERROR: File ${_FILE1} absent!"
|
||||||
|
let check+=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
echo "Тест pesigcheck файлов пакета ${TEST_PACKAGE_NAME}"
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
if [[ "${TEST_PACKAGE_NAME}" != "grub2-efi-x64" ]] && [[ "${TEST_PACKAGE_NAME}" != "grub2-efi-x64-cdboot" ]]; then
|
||||||
|
echo "ERROR: Неверное имя пакета - '${TEST_PACKAGE_NAME}'. Этот тест предназначен для пакетов grub2-efi-x64 и grub2-efi-x64-cdboot"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${TEST_PACKAGE_NAME}" == "grub2-efi-x64" ]]; then
|
||||||
|
_FILE1='/boot/efi/EFI/msvsphere/grubx64.efi'
|
||||||
|
else
|
||||||
|
_FILE1='/boot/efi/EFI/msvsphere/gcdx64.efi'
|
||||||
|
fi
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
/bin/pesigcheck -n 0 -c /etc/pki/sb-certs/secureboot-grub2-x86_64.cer -i "${_FILE1}" | /bin/grep "\"${_FILE1}\" is valid."
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Подготовка окружения для тестирования пакета ${TEST_PACKAGE_NAME}"
|
||||||
|
|
||||||
|
exit 0
|
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/bats
|
||||||
|
|
||||||
|
load ../../library/assertions;
|
||||||
|
|
||||||
|
PACKAGE=httpd-core
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
if [[ -z $(/bin/rpm -qa | /bin/grep ${PACKAGE}) ]]; then
|
||||||
|
skip "${PACKAGE} is not installed, tests skipped"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "dummy-test" {
|
||||||
|
skip "Skipped, this test only demo"
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Подготовка окружения для тестирования пакета ${TEST_PACKAGE_NAME}"
|
||||||
|
|
||||||
|
exit 0
|
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/bats
|
||||||
|
|
||||||
|
load ../../library/assertions;
|
||||||
|
|
||||||
|
PACKAGE=httpd
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
if [[ -z $(/bin/rpm -qa | /bin/grep ${PACKAGE}) ]]; then
|
||||||
|
skip "${PACKAGE} is not installed, tests skipped"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "is httpd service present" {
|
||||||
|
/bin/systemctl status ${PACKAGE} | /bin/grep -E 'running;|disabled;'
|
||||||
|
assert_success;
|
||||||
|
}
|
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
# Test apache group present
|
||||||
|
|
||||||
|
source ../../library/sh_lib.sh
|
||||||
|
|
||||||
|
check=0
|
||||||
|
|
||||||
|
cat /etc/group | grep apache
|
||||||
|
check=$(eq_is_success ${check} 0)
|
||||||
|
|
||||||
|
check_test_status ${check} "$0"
|
||||||
|
exit ${check}
|
Loading…
Reference in new issue