diff --git a/tests/common/config.sh b/tests/common/config.sh new file mode 100644 index 00000000..81c28c87 --- /dev/null +++ b/tests/common/config.sh @@ -0,0 +1,48 @@ +# Generic functions to save, change, and restore configuration files + +set -e + + +# Save the configuration files in tmp. +save_config () +{ + [ ! -d tmp ] && mkdir tmp + find config -depth -type f | sed -e 's/config\///' | + while read file + do + mkdir -p "tmp/$(dirname "$file")" + [ -f "/$file" ] && cp -dp "/$file" "tmp/$file" + done +} + +# Copy the config files from config to the system +change_config () +{ + find config -depth -type f | sed -e 's/config\///' | + while read file + do + cp -f "config/$file" "/$file" + done +} + +# Restored the config files in the system. +# The config files must be saved before with save_config (). +restore_config () +{ + find config -depth -type f | sed -e 's/config\///' | + while read file + do + [ -f "tmp/$file" ] && \ + cp -dp "tmp/$file" "/$file" && \ + rm "tmp/$file" + d="$(dirname "tmp/$file")" + while [ -n "$d" ] && [ "$d" != "." ] + do + rmdir "$d" 2>/dev/null || true + d="$(dirname "$d")" + done + done + + rmdir tmp 2>/dev/null || true +} + diff --git a/tests/common/log.sh b/tests/common/log.sh new file mode 100644 index 00000000..fca9d96a --- /dev/null +++ b/tests/common/log.sh @@ -0,0 +1,46 @@ +# Helpers to log messages / status + +log_start () +{ + test="$1" + rational="$2" + cat << EOF + +############################################################################### +# +# Test: $test +# +############################################################################### +# +# Rational: $rational +# +############################################################################### +EOF +} + +log_end () +{ + test="$1" + cat << EOF +############################################################################### +# +# End of test $test +# +############################################################################### + +EOF +} + +log_status () +{ + test="$1" + status="$2" + cat << EOF +############################################################################### +# +# Status of test $test: $status +# +############################################################################### +EOF +} +