diff --git a/build/tools/httpbin.sh b/build/tools/httpbin.sh index 3b1a6248c7..4243e8b497 100644 --- a/build/tools/httpbin.sh +++ b/build/tools/httpbin.sh @@ -3,6 +3,15 @@ # Do not run it directly. httpbin_launch() { + WX_TEST_WEBREQUEST_URL=0 + export WX_TEST_WEBREQUEST_URL + + # We need python3 for httpbin, python2 can't be used any longer. + if ! command -v python3 > /dev/null; then + echo 'Python 3 is not available, not using httpbin.' + return + fi + echo 'Launching httpbin...' case "$(uname -s)" in @@ -17,9 +26,6 @@ httpbin_launch() { case "$dist_codename" in trusty) - # Python 2.7.6 is too old to support SNI and can't be used. - PY3=3 - # Explicitly select the versions of dependencies that are still # compatible with Python 3.4 used here as the latest versions of # several of them are not. @@ -33,41 +39,34 @@ httpbin_launch() { # and decorator >= 5 is incompatible with it too. pip_explicit_deps='decorator==4.4.2' ;; - - *) - # Elsewhere just use Python 3. - PY3=3 - ;; esac - if [ "$PY3" = 3 ]; then - # Ensure that we have at least some version of pip. - if ! python3 -m pip; then - sudo apt-get -q -o=Dpkg::Use-Pty=0 install python3-pip - fi - - # Running pip install fails with weird errors out of the box when - # using old pip version because it attempts to use python rather - # than python3, so upgrade it to fix this. - # - # However don't upgrade to a version which is too new because then - # it may not support Python version that we actually have (this one - # still works with 3.4, 20.0.1 is the last one to support 3.5). - python3 -m pip install --user --upgrade pip==19.1.1 + # Ensure that we have at least some version of pip. + if ! python3 -m pip; then + sudo apt-get -q -o=Dpkg::Use-Pty=0 install python3-pip fi - echo "Installing using `python$PY3 -m pip --version`" + # Running pip install fails with weird errors out of the box when + # using old pip version because it attempts to use python rather + # than python3, so upgrade it to fix this. + # + # However don't upgrade to a version which is too new because then + # it may not support Python version that we actually have (this one + # still works with 3.4, 20.0.1 is the last one to support 3.5). + python3 -m pip install --user --upgrade pip==19.1.1 - python$PY3 -m pip install $pip_explicit_deps httpbin --user - python$PY3 -m httpbin.core 2>&1 >httpbin.log & + echo "Installing using `python3 -m pip --version`" + + python3 -m pip install $pip_explicit_deps httpbin --user + python3 -m httpbin.core 2>&1 >httpbin.log & WX_TEST_WEBREQUEST_URL="http://localhost:5000" - - export WX_TEST_WEBREQUEST_URL } httpbin_show_log() { - echo '*** Tests failed, contents of httpbin.log follows: ***' - echo '-----------------------------------------------------------' - cat httpbin.log - echo '-----------------------------------------------------------' + if [ "$WX_TEST_WEBREQUEST_URL" != "0" ]; then + echo '*** Tests failed, contents of httpbin.log follows: ***' + echo '-----------------------------------------------------------' + cat httpbin.log + echo '-----------------------------------------------------------' + fi }