From 77b29880c8e9eddaf282e8738542aa57a189f6d2 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Tue, 14 Mar 2017 14:45:29 -0400 Subject: [PATCH 1/4] Fix run_tests.sh --dockerize for Mac OS X usage. Without this I get the error message below and the tests do not execute. ``` ./run_tests.sh: line 279: UID: readonly variable ``` This was likely broken with b75ee68d9f6305646a55d816fb1173210e36eab9. --- run_tests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run_tests.sh b/run_tests.sh index 69f9c8d95b8..814e2864cb2 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -276,8 +276,8 @@ then DOCKER_RUN_EXTRA_ARGS="-v ${tmp}:/tmp ${DOCKER_RUN_EXTRA_ARGS}" shift fi - UID=$(id -u) - DOCKER_RUN_EXTRA_ARGS="-e GALAXY_TEST_UID=${UID} ${DOCKER_RUN_EXTRA_ARGS}" + MY_UID=$(id -u) + DOCKER_RUN_EXTRA_ARGS="-e GALAXY_TEST_UID=${MY_UID} ${DOCKER_RUN_EXTRA_ARGS}" echo "Launching docker container for testing..." docker $DOCKER_EXTRA_ARGS run $DOCKER_RUN_EXTRA_ARGS -e "BUILD_NUMBER=$BUILD_NUMBER" -e "GALAXY_TEST_DATABASE_TYPE=$db_type" --rm -v `pwd`:/galaxy $DOCKER_IMAGE "$@" exit $? From d1eab2685f652f0b6f8c8119c51acf080c54556e Mon Sep 17 00:00:00 2001 From: John Chilton Date: Tue, 14 Mar 2017 16:26:18 -0400 Subject: [PATCH 2/4] Provide a fallback for GALAXY_TEST_UID if manually running Docker tests. --- test/docker/base/run_test_wrapper.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/docker/base/run_test_wrapper.sh b/test/docker/base/run_test_wrapper.sh index 54f963882d3..3c7e2adf37b 100644 --- a/test/docker/base/run_test_wrapper.sh +++ b/test/docker/base/run_test_wrapper.sh @@ -4,6 +4,8 @@ set -e echo "Deleting galaxy user - it may not exist and this is fine." deluser galaxy | true +GALAXY_TEST_UID=${GALAXY_TEST_UID:-"1"} + echo "Creating galaxy group with gid $GALAXY_TEST_UID - it may already exist and this is fine." groupadd -r galaxy -g "$GALAXY_TEST_UID" | true echo "Creating galaxy user with uid $GALAXY_TEST_UID - it may already exist and this is fine." From d6654838f361a1e3064619cb059f9137579dc376 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Tue, 14 Mar 2017 16:26:53 -0400 Subject: [PATCH 3/4] Fix pip install cache inside Galaxy testing container. It is causing Jenkins to fail throughout on https://github.com/galaxyproject/galaxy/pull/3179. --- test/docker/base/run_test_wrapper.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/docker/base/run_test_wrapper.sh b/test/docker/base/run_test_wrapper.sh index 3c7e2adf37b..c2e544f4349 100644 --- a/test/docker/base/run_test_wrapper.sh +++ b/test/docker/base/run_test_wrapper.sh @@ -50,10 +50,11 @@ export TOOL_SHED_CONFIG_OVERRIDE_DATABASE_CONNECTION : ${GALAXY_VIRTUAL_ENV:=.venv} +HOME=/galaxy sudo -E -u "#${GALAXY_TEST_UID}" ./scripts/common_startup.sh || { echo "common_startup.sh failed"; exit 1; } dev_requirements=./lib/galaxy/dependencies/dev-requirements.txt -[ -f $dev_requirements ] && $GALAXY_VIRTUAL_ENV/bin/pip install -r $dev_requirements +[ -f $dev_requirements ] && sudo -E -u "#${GALAXY_TEST_UID}" $GALAXY_VIRTUAL_ENV/bin/pip install -r $dev_requirements echo "Upgrading test database..." sudo -E -u "#${GALAXY_TEST_UID}" sh manage_db.sh upgrade From b1f12d41f66c2b07929c037363fc6d94b890b283 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Mon, 20 Mar 2017 09:12:33 -0400 Subject: [PATCH 4/4] Simplify run_test_wrapper.sh per @natefoo comments. https://github.com/galaxyproject/galaxy/pull/3755/files#r106182107 --- test/docker/base/run_test_wrapper.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/docker/base/run_test_wrapper.sh b/test/docker/base/run_test_wrapper.sh index c2e544f4349..7f1b9b70336 100644 --- a/test/docker/base/run_test_wrapper.sh +++ b/test/docker/base/run_test_wrapper.sh @@ -4,7 +4,7 @@ set -e echo "Deleting galaxy user - it may not exist and this is fine." deluser galaxy | true -GALAXY_TEST_UID=${GALAXY_TEST_UID:-"1"} +: ${GALAXY_TEST_UID:-"1"} echo "Creating galaxy group with gid $GALAXY_TEST_UID - it may already exist and this is fine." groupadd -r galaxy -g "$GALAXY_TEST_UID" | true @@ -14,7 +14,7 @@ echo "Setting galaxy user password - the operation may fail." echo "galaxy:galaxy" | chpasswd | true chown -R "$GALAXY_TEST_UID:$GALAXY_TEST_UID" /galaxy_venv -GALAXY_TEST_DATABASE_TYPE=${GALAXY_TEST_DATABASE_TYPE:-"postgres"} +: ${GALAXY_TEST_DATABASE_TYPE:-"postgres"} if [ "$GALAXY_TEST_DATABASE_TYPE" = "postgres" ]; then su -c '/usr/lib/postgresql/9.3/bin/pg_ctl -o "-F" start -D /opt/galaxy/db' postgres