~ salmonella-environment-setup (master) 0610956a0fe346a14a46e0d00084344ccf9941f2
commit 0610956a0fe346a14a46e0d00084344ccf9941f2
Author: Mario Domenech Goulart <mario@parenteses.org>
AuthorDate: Sat Jun 17 00:06:46 2023 +0200
Commit: Mario Domenech Goulart <mario@parenteses.org>
CommitDate: Sat Jun 17 00:12:29 2023 +0200
run-salmonella.sh: call salmonella-run-publish with --work-dir
diff --git a/conf/common/common.scm b/conf/common/common.scm
index 70434c3..a92ca16 100644
--- a/conf/common/common.scm
+++ b/conf/common/common.scm
@@ -27,8 +27,6 @@
(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 a7b1ace..3d68b5d 100755
--- a/run-salmonella.sh
+++ b/run-salmonella.sh
@@ -52,23 +52,6 @@ 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_WORK_DIR=salmonella-run-publish
-export RUN_SALMONELLA_LOG_FILE=run-salmonella.log
-
-# salmonella-run-publish changes to `(tmp-dir)' (mapped to
-# $RUN_SALMONELLA_WORK_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_WORK_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
OS=$($CHICKEN_4_PREFIX/bin/csi -p '(software-version)')
@@ -116,25 +99,27 @@ run_salmonella() {
mkdir -p "$WORK_DIR"
- # Run salmonella from $WORK_DIR
- cd "$WORK_DIR"
-
local salmonella_run_publish
salmonella_run_publish="$CHICKEN_TESTS_PREFIX/bin/salmonella-run-publish"
+ local conf_work_dir
for conf in $confs; do
+ conf_work_dir=$WORK_DIR/$conf
+
+ # This must be in sync with the value of `(log-file)' in
+ # salmonella-run-publish.
+ log_file=$conf_work_dir/run-salmonella.log
# Remove leftovers from previous executions. Once
- # `$RUN_SALMONELLA_WORK_DIR` is created it is safe to use
- # `info'.
- rm -rf "$RUN_SALMONELLA_WORK_DIR"
- mkdir -p "$RUN_SALMONELLA_WORK_DIR"
+ # `$conf_work_dir` is created it is safe to use `info'.
+ rm -rf "$conf_work_dir"
+ mkdir -p "$conf_work_dir"
# Load settings files
local settings_file
for settings_file in $SETTINGS_FILES; do
if [ -e "$settings_file" ]; then
- info "Loading $settings_file"
+ echo "Loading $settings_file" >> "$log_file"
. "$settings_file"
fi
done
@@ -142,14 +127,10 @@ run_salmonella() {
# The inline egg writes some stuff to the home dir
rm -rf ~/.chicken-inline
- # Remove leftovers from previous executions
- rm -rf "salmonella-$conf"
- rm -f "$log_file"
-
run_hooks
local args
- args=$SRC_CONF_DIR/${conf}.conf
+ args="--work-dir $conf_work_dir $SRC_CONF_DIR/${conf}.conf"
local_conf_path=$LOCAL_CONF_DIR/${conf}.conf
[ -e "$local_conf_path" ] && args="$args $local_conf_path"
@@ -157,11 +138,9 @@ run_salmonella() {
[ -n "$CHICKEN_CORE_COMMIT_HASH" ] &&
args="--commit-hash $CHICKEN_CORE_COMMIT_HASH $args"
- info "Running $salmonella_run_publish $args"
+ echo "Running $salmonella_run_publish $args" >> "$log_file"
"$salmonella_run_publish" $args >>"$log_file" 2>&1
- [ -d "$RUN_SALMONELLA_WORK_DIR" ] &&
- mv "$RUN_SALMONELLA_WORK_DIR" "salmonella-$conf"
done
}
Trap