~ salmonella-environment-setup (master) 335aa23ba6e9d6e55f8e1780659947235864041a
commit 335aa23ba6e9d6e55f8e1780659947235864041a Author: Mario Domenech Goulart <mario@parenteses.org> AuthorDate: Fri Apr 16 19:56:37 2021 +0200 Commit: Mario Domenech Goulart <mario@parenteses.org> CommitDate: Fri Apr 16 19:56:55 2021 +0200 run-salmonella.sh: manage run-salmonella.log This change makes run-salmonella.sh manage salmonella-run-publish's log file. The log file is passed via the `RUN_SALMONELLA_LOG_FILE' environment in `conf/common/common.scm'. diff --git a/conf/common/common.scm b/conf/common/common.scm index 6985438..4b018c3 100644 --- a/conf/common/common.scm +++ b/conf/common/common.scm @@ -23,6 +23,8 @@ (compress-report? #f) (create-report-tarball 'gzip) +(log-file (ensure-environment-variable "RUN_SALMONELLA_LOG_FILE")) + (web-dir (ensure-environment-variable "SALMONELLA_REPORTS_DIR")) (feeds-server diff --git a/run-salmonella.sh b/run-salmonella.sh index cac9927..8a7aaeb 100755 --- a/run-salmonella.sh +++ b/run-salmonella.sh @@ -33,6 +33,22 @@ export CHICKEN_5_PREFIX=$HOME/local/chicken-5 export CHICKEN_5_EGGS_DIR=$HOME/src/chicken-5-eggs export SALMONELLA_REPORTS_DIR=$HOME/salmonella/reports +# This must be in sync with the value of `(tmp-dir)' in +# salmonella-run-publish-params. +RUN_SALMONELLA_TMP_DIR=salmonella-run-publish +export RUN_SALMONELLA_LOG_FILE=run-salmonella.log + +# salmonella-run-publish changes to `(tmp-dir)' (mapped to +# $RUN_SALMONELLA_TMP_DIR in this script) in runtime and by default +# assumes the log file is there. When logging from this script, +# though, the log file is relative to $WORK_DIR (we change to +# $WORK_DIR in `main'). +log_file=$RUN_SALMONELLA_TMP_DIR/$RUN_SALMONELLA_LOG_FILE + +# `info' is supposed to be used after changing to $WORK_DIR. +info() { + echo "$*" >> "$log_file" +} if [ "$CHICKEN_TESTS_MAJOR_VERSION" = 4 ]; then CHICKEN_TESTS_PREFIX=$CHICKEN_4_PREFIX @@ -44,20 +60,13 @@ else ARCH=$($CHICKEN_5_PREFIX/bin/csi -p '(begin (import (chicken platform)) (machine-type))') fi -settings_files="\ +SETTINGS_FILES="\ $SRC_CONF_DIR/shell-settings/${OS}/settings.sh $SRC_CONF_DIR/shell-settings/${OS}-${ARCH}/settings.sh $LOCAL_CONF_DIR/shell-settings/${OS}/settings.sh $LOCAL_CONF_DIR/shell-settings/${OS}-${ARCH}/settings.sh " -for settings_file in $settings_files; do - if [ -e "$settings_file" ]; then - echo "Loading $settings_file" - . "$settings_file" - fi -done - run_hooks() { # Call hooks scripts, passing $OS, $ARCH, CHICKEN_4_PREFIX and @@ -113,6 +122,18 @@ main() { # Remove leftovers from previous executions rm -rf salmonella-run-publish + # Create the directory for the log file + mkdir -p "$RUN_SALMONELLA_TMP_DIR" + + # Load settings files + local settings_file + for settings_file in $SETTINGS_FILES; do + if [ -e "$settings_file" ]; then + info "Loading $settings_file" + . "$settings_file" + fi + done + local salmonella_run_publish salmonella_run_publish="$CHICKEN_TESTS_PREFIX/bin/salmonella-run-publish" @@ -121,19 +142,20 @@ main() { rm -rf ~/.chicken-inline # Remove leftovers from previous executions - rm -rf salmonella-$conf + rm -rf "salmonella-$conf" + rm -f "$log_file" run_hooks conf_path=$SRC_CONF_DIR/${conf}.conf local_conf_path=$LOCAL_CONF_DIR/${conf}.conf if [ -e "$local_conf_path" ]; then - echo "Loading $conf_path" - echo "Loading $local_conf_path" - "$salmonella_run_publish" "$conf_path" "$local_conf_path" + info "Loading $conf_path" + info "Loading $local_conf_path" + "$salmonella_run_publish" "$conf_path" "$local_conf_path" >>"$log_file" 2>&1 else - echo "Loading $conf_path" - "$salmonella_run_publish" "$conf_path" + info "Loading $conf_path" + "$salmonella_run_publish" "$conf_path" >>"$log_file" 2>&1 fi [ -d salmonella-run-publish ] && mv salmonella-run-publish "salmonella-$conf" doneTrap