wxWidgets/build/tools/httpbin.sh
Vadim Zeitlin c7961fa666 Don't upgrade pip to a version which is too new
Amazingly, updating a package has no problems with installing a newer
version incompatible with the current Python version, such as installing
pip 21 when using Python 3.5.
2021-04-04 01:43:50 +02:00

63 lines
2.1 KiB
Bash

# This script is sourced by CI scripts to launch httpbin.
#
# Do not run it directly.
httpbin_launch() {
echo 'Launching httpbin...'
case "$(uname -s)" in
Linux)
dist_codename=$(lsb_release --codename --short)
;;
Darwin)
dist_codename='macOS'
;;
esac
case "$dist_codename" in
trusty)
# Current decorator (>= 5) is incompatible with Python 2 which we
# still use in some builds, so explicitly use a version which
# is known to work. Just specifying "decorator==4.4.2" doesn't work
# neither for some reason ("no matching distribution found"), so
# use an explicit URL.
pip_decorator_arg='https://files.pythonhosted.org/packages/ed/1b/72a1821152d07cf1d8b6fce298aeb06a7eb90f4d6d41acec9861e7cc6df0/decorator-4.4.2-py2.py3-none-any.whl'
# We need to disable SSL certificate checking under Trusty because
# Python version there is too old to support SNI.
pip_options='--trusted-host files.pythonhosted.org'
;;
macOS)
pip_decorator_arg='decorator==4.4.2'
;;
*)
# Elsewhere just use Python 3.
PY3=3
# 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.
python3 -m pip install --upgrade pip==20
;;
esac
python$PY3 -m pip install $pip_decorator_arg httpbin --user $pip_options
python$PY3 -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 '-----------------------------------------------------------'
}