diff options
Diffstat (limited to 'bin/sanity-check')
-rwxr-xr-x | bin/sanity-check | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/bin/sanity-check b/bin/sanity-check index 1ebd86e..1069e17 100755 --- a/bin/sanity-check +++ b/bin/sanity-check @@ -7,8 +7,6 @@ # shellcheck source=../lib/load-configuration . "${0%/*}/../lib/load-configuration" -# TODO: move mysql sanity check from build-master-status to here - usage() { >&2 echo '' >&2 echo 'sanity-check [options] [checks]: check sanity of build master' @@ -104,6 +102,8 @@ if ! verbose_flock ${block_flag} 9; then exit fi +mysql_cleanup + finish() { { printf '%s\n' \ @@ -434,9 +434,31 @@ while [ $# -gt 0 ]; do mysql) [ ${silence} -gt 0 ] || \ - printf 'checking mysql-sanity-check-file ...' >> \ + printf 'checking mysql-sanity ...' >> \ "${tmp_dir}/messages" + mysql_sanity_check | \ + sed ' + s,^-.*$,<font color="#FF0000">\0</font>, + s,^+.*$,<font color="#00FF00">\0</font>, + s/$/<br>/ + 1 i <html><head><title>sanity of the buildmaster'"'"'s mysql database</title></head><body> + $ a </body></html> + ' | \ + sponge "${webserver_directory}/mysql-sanity.html" + + if [ -s "${webserver_directory}/mysql-sanity.html" ] && \ + [ ! -s "${work_dir}/build-master-sanity" ]; then + # shellcheck disable=SC2119 + { + printf 'girls, my database is dirty again ...\n' + printf 'dirty! girls, my database - so dirty :-(\n' + printf 'girls, please have a look at my dirty database' + } | \ + shuf -n1 | \ + irc_say + fi + if [ -s "${webserver_directory}/mysql-sanity.html" ]; then if [ ${silence} -le 1 ]; then printf '\nThere is something wrong with the database:\n' |