60 lines
2.1 KiB
Bash
Executable file
60 lines
2.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# For now, just a "manual" helper.
|
|
# TODO: Automate. See e.g. https://src.fedoraproject.org/tests/binutils
|
|
|
|
RETVAL=0
|
|
|
|
PRE_COMMIT_YAML=$(realpath "${0%/*}"/pre-commit.yaml)
|
|
cd "${0%/*}"/../.. || exit 1
|
|
|
|
DELIMITER='=============================================================================='
|
|
|
|
echo -e "\n${DELIMITER}\nRunning tmt lint ..."
|
|
tmt lint --failed-only --outcome-only=fail --outcome-only=warn || RETVAL=1
|
|
echo "$DELIMITER"
|
|
|
|
echo -e "\n${DELIMITER}\nRunning yamllint ..."
|
|
find . -name '*.fmf' -exec yamllint -d '{extends: default, rules: {document-start: disable, line-length: disable}}' {} + || RETVAL=1
|
|
echo "$DELIMITER"
|
|
|
|
echo -e "\n${DELIMITER}\nRunning pre-commit with -c $PRE_COMMIT_YAML ..."
|
|
pre-commit run --all-files -c "$PRE_COMMIT_YAML" --all-files || RETVAL=1
|
|
echo "$DELIMITER"
|
|
|
|
echo -e "\n${DELIMITER}\nRunning ShellCheck ..."
|
|
find . -path ./helpers/schedulers -prune -o -type f -name '*.sh' -exec shellcheck --norc --exclude=SC1091 {} + || RETVAL=1
|
|
echo "$DELIMITER"
|
|
|
|
echo -e "\n${DELIMITER}\nChecking WITH_SCL in tests' main.fmf ..."
|
|
# shellcheck disable=SC2044
|
|
for i in $(find . -name main.fmf); do
|
|
if grep -q '^test:.*runtest\.sh' "$i"; then
|
|
# shellcheck disable=SC2016
|
|
if ! grep -qF 'test: ${WITH_SCL:-bash} ./runtest.sh' "$i"; then
|
|
echo "$i does not use WITH_SCL in 'test:'"
|
|
RETVAL=1
|
|
fi
|
|
fi
|
|
done
|
|
echo "$DELIMITER"
|
|
|
|
echo -e "\n${DELIMITER}\nChecking direct usage of dnf/yum/rpm-ostree instead of pkgmgr_install ..."
|
|
# shellcheck disable=SC2044
|
|
for i in $(find . \( -path ./tests/lib -o -path ./utils -o -path ./plans \) -prune -o -type f -name '*.sh' -print); do
|
|
# Check uncommented occurrences. The implementation is far
|
|
# from correct but will do for a start. # FIXME
|
|
if grep -q '^[^#]*rpm-ostree' "$i"; then
|
|
echo "$i suspected of using rpm-ostree"
|
|
RETVAL=1
|
|
fi
|
|
if grep -qE '^[^#]*(dnf|yum).* .*install' "$i"; then
|
|
echo "$i suspected of using dnf/yum install"
|
|
RETVAL=1
|
|
fi
|
|
done
|
|
echo "$DELIMITER"
|
|
|
|
echo -en "\nOVERALL RESULT: "
|
|
[[ "$RETVAL" -eq 0 ]] && echo PASS || echo FAIL
|
|
exit $RETVAL
|