From 7b68214ea6ba683ede44d500cd37844e6e85b675 Mon Sep 17 00:00:00 2001 From: Simon Westphahl Date: Tue, 23 Aug 2022 13:31:54 +0200 Subject: [PATCH] Run docker-compose up test setup script with env When not using a ROOTCMD when running the test-setup-docker.sh the script will fail with the following error message: ++ id -u + USER_ID=1000 docker-compose up -d ./test-setup-docker.sh: line 50: USER_ID=1000: command not found Due to Bash's simple command expansion[0] variable assignments will be interpreted as the command when no ROOTCMD is given. To work around this we use default ROOTCMD to the `env` command. [0]: https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Simple-Command-Expansion Change-Id: Id696069a4eec2b2c2513ac449098b0ef73dc3906 --- tools/test-setup-docker.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/test-setup-docker.sh b/tools/test-setup-docker.sh index 81f4b29776..a0fcf9f5aa 100755 --- a/tools/test-setup-docker.sh +++ b/tools/test-setup-docker.sh @@ -8,7 +8,11 @@ # environment. set -xeu -ROOTCMD=${ROOTCMD:-} + +# Default ROOTCMD to the 'env' command, otherwise variable assignments will be +# interpreted as command when no ROOTCMD is given. The reason for that is +# Bash's simple command expansion. +ROOTCMD=${ROOTCMD:-env} cd $(dirname $0) SCRIPT_DIR="$(pwd)"