X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dc16046dbfdca4a9c0d94971730d220b27e80620..55703cfd8ee34f76a230ff256f51367f4fe3f77e:/build/run-tests.sh diff --git a/build/run-tests.sh b/build/run-tests.sh index 70437bd21c..c425a48a94 100755 --- a/build/run-tests.sh +++ b/build/run-tests.sh @@ -208,7 +208,8 @@ sanity_checks() { find /usr/include -path '*gnutls/gnutls.h' | egrep --max-count=1 . \ || fatal "No gnutls/gnutls.h. Try: apt-get install libgnutls28-dev" echo -n 'virtualenv: ' - python3 -m venv -h | egrep --max-count=1 . \ + python3 -m venv --help | grep -q '^usage: venv ' \ + && echo "venv module found" \ || fatal "No virtualenv. Try: apt-get install python3-venv" echo -n 'Python3 pyconfig.h: ' find /usr/include -path '*/python3*/pyconfig.h' | egrep --max-count=1 . \ @@ -635,13 +636,15 @@ install_env() { setup_virtualenv "$VENV3DIR" . "$VENV3DIR/bin/activate" + # wheel modernizes the venv (as of early 2024) and makes it more closely + # match our package build environment. # PyYAML is a test requirement used by run_test_server.py and needed for # other, non-Python tests. # pdoc is needed to build PySDK documentation. # We run `setup.py build` first to generate _version.py. - env -C "$WORKSPACE/sdk/python" python3 setup.py build \ - && python3 -m pip install "$WORKSPACE/sdk/python" \ - && python3 -m pip install PyYAML pdoc \ + pip install PyYAML pdoc wheel \ + && env -C "$WORKSPACE/sdk/python" python3 setup.py build \ + && pip install "$WORKSPACE/sdk/python" \ || fatal "installing Python SDK and related dependencies failed" } @@ -970,11 +973,14 @@ install_services/api() { declare -a pythonstuff pythonstuff=( + # The ordering of sdk/python, tools/crunchstat-summary, and + # sdk/cwl here is significant. See + # https://dev.arvados.org/issues/19744#note-26 sdk/python:py3 + tools/crunchstat-summary:py3 sdk/cwl:py3 services/dockercleaner:py3 services/fuse:py3 - tools/crunchstat-summary:py3 ) declare -a gostuff @@ -986,14 +992,13 @@ install_services/workbench2() { } test_doc() { - ( - set -e - cd "$WORKSPACE/doc" - ARVADOS_API_HOST=pirca.arvadosapi.com - # Make sure python-epydoc is installed or the next line won't - # do much good! - PYTHONPATH=$WORKSPACE/sdk/python/ "$bundle" exec rake linkchecker baseurl=file://$WORKSPACE/doc/.site/ arvados_workbench_host=https://workbench.$ARVADOS_API_HOST arvados_api_host=$ARVADOS_API_HOST - ) + local arvados_api_host=pirca.arvadosapi.com && \ + env -C "$WORKSPACE/doc" \ + "$bundle" exec rake linkchecker \ + arvados_api_host="$arvados_api_host" \ + arvados_workbench_host="https://workbench.$arvados_api_host" \ + baseurl="file://$WORKSPACE/doc/.site/" \ + ${testargs[doc]} } test_gofmt() { @@ -1053,11 +1058,15 @@ install_deps() { # Install parts needed by test suites do_install env do_install cmd/arvados-server go - do_install sdk/cli do_install sdk/python pip "${VENV3DIR}/bin/" + do_install tools/crunchstat-summary pip "${VENV3DIR}/bin/" do_install sdk/ruby-google-api-client do_install sdk/ruby + do_install sdk/cli do_install services/api + # lib/controller integration tests depend on arv-mount to run + # containers. + do_install services/fuse pip "${VENV3DIR}/bin/" do_install services/keepproxy go do_install services/keep-web go }