Adding a set of behavioural tests
This commit is contained in:
50
script/run-behavior-suite-docker.sh
Executable file
50
script/run-behavior-suite-docker.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
: "${HOMESICK_CMD:=ruby /workspace/bin/homesick}"
|
||||
behavior_verbose="${BEHAVIOR_VERBOSE:-0}"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-v|--verbose)
|
||||
echo "Enabling verbose output for behavior suite"
|
||||
behavior_verbose=1
|
||||
;;
|
||||
*)
|
||||
echo "Unknown argument: $1" >&2
|
||||
echo "Usage: $0 [--verbose]" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
repo_root="$(cd "$script_dir/.." && pwd)"
|
||||
|
||||
run_docker_build() {
|
||||
echo "Building Docker image for behavior suite..."
|
||||
local build_log
|
||||
|
||||
if [[ "$behavior_verbose" == "1" ]]; then
|
||||
docker-buildx build -f "$repo_root/docker/behavior/Dockerfile" -t homesick-behavior:latest "$repo_root"
|
||||
return
|
||||
fi
|
||||
|
||||
build_log="$(mktemp)"
|
||||
if ! docker-buildx build -f "$repo_root/docker/behavior/Dockerfile" -t homesick-behavior:latest "$repo_root" >"$build_log" 2>&1; then
|
||||
cat "$build_log" >&2
|
||||
rm -f "$build_log"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -f "$build_log"
|
||||
}
|
||||
|
||||
run_docker_build
|
||||
|
||||
echo "Running behavior suite in Docker container..."
|
||||
docker run --rm \
|
||||
-e HOMESICK_CMD="$HOMESICK_CMD" \
|
||||
-e BEHAVIOR_VERBOSE="$behavior_verbose" \
|
||||
homesick-behavior:latest
|
||||
Reference in New Issue
Block a user