You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1015 B

#!/bin/bash
readonly COLOR_BOLD="\e[1m"
readonly COLOR_GREEN="\e[32m"
readonly COLOR_NORMAL_DISPLAY="\e[0m"
readonly COLOR_RED="\e[31m"
echo
printf "== %b ==\n" "${COLOR_BOLD}keystone engine crashers${COLOR_NORMAL_DISPLAY}"
echo
num_crashed=0
num_tests=0
for crash_case in $(find . -name "crash-??-*" -not -name "*.sh" -type f | sort -n); do
if [[ ! -x ${crash_case} ]]; then
continue
fi
num_tests=$((num_tests + 1))
{ $crash_case; } > /dev/null 2> /dev/null
if [[ $? == 0 ]]; then
printf " %b %b\n" "${COLOR_GREEN}${COLOR_NORMAL_DISPLAY}" "${crash_case}"
else
num_crashed=$((num_crashed + 1))
printf " %b %b\n" "${COLOR_RED}${COLOR_NORMAL_DISPLAY}" "${crash_case}"
fi
done
if [[ ${num_tests} == 0 ]]; then
echo "No tests to process. Please run 'make' to build the tests."
echo
exit
fi
echo
printf "** Results: %b of %b tests resulted in a crash **\n" "${COLOR_BOLD}${num_crashed}${COLOR_NORMAL_DISPLAY}" "${COLOR_BOLD}${num_tests}${COLOR_NORMAL_DISPLAY}"
echo