Extract function for launching httpbin into its own file

Allow reusing it between GitHub and Travis CI.

Also show httpbin log in Travis CI logs too, not just on GitHub.
This commit is contained in:
Vadim Zeitlin
2021-04-04 00:18:50 +02:00
parent 996469115b
commit 2b89215eec
3 changed files with 67 additions and 51 deletions

View File

@@ -4,6 +4,8 @@
set -e
. ./build/tools/httpbin.sh
wxPROC_COUNT=`getconf _NPROCESSORS_ONLN`
((wxPROC_COUNT++))
wxBUILD_ARGS="-j$wxPROC_COUNT"
@@ -12,42 +14,6 @@ wxBUILD_ARGS="-j$wxPROC_COUNT"
# messages from WebKit tests that we're not interested in.
export NO_AT_BRIDGE=1
launch_httpbin() {
echo 'travis_fold:start:httpbin'
echo 'Running httpbin...'
case "$(uname -s)" in
Linux)
dist_codename=$(lsb_release --codename --short)
;;
esac
# We need to disable SSL certificate checking under Trusty because Python
# version there is too old to support SNI.
case "$dist_codename" in
trusty)
# Here "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'
pip_options='--trusted-host files.pythonhosted.org'
;;
*)
# Current decorator (>= 5) is incompatible with Python 2 which we
# still use under in some builds, so explicitly use a version which
# is known to work.
pip_decorator_arg='decorator==4.4.2'
;;
esac
pip install $pip_decorator_arg httpbin --user $pip_options
python -m httpbin.core &
WX_TEST_WEBREQUEST_URL="http://localhost:5000"
export WX_TEST_WEBREQUEST_URL
echo 'travis_fold:end:httpbin'
}
case $wxTOOLSET in
cmake)
if [ -z $wxCMAKE_TESTS ]; then wxCMAKE_TESTS=CONSOLE_ONLY; fi
@@ -78,12 +44,18 @@ case $wxTOOLSET in
echo 'travis_fold:end:install'
if [ "$wxCMAKE_TESTS" != "OFF" ]; then
launch_httpbin
echo 'travis_fold:start:httpbin'
httpbin_launch
echo 'travis_fold:end:httpbin'
echo 'travis_fold:start:testing'
echo 'Testing...'
ctest -V -C Debug -E "test_drawing" --output-on-failure --interactive-debug-mode 0 .
ctest -V -C Debug -E "test_drawing" --output-on-failure --interactive-debug-mode 0 . || rc=$?
echo 'travis_fold:end:testing'
if [ -n "$rc" ]; then
httpbin_show_log
exit $rc
fi
fi
echo 'travis_fold:start:testinstall'
@@ -162,14 +134,20 @@ case $wxTOOLSET in
exit 0
fi
launch_httpbin
echo 'travis_fold:start:httpbin'
httpbin_launch
echo 'travis_fold:end:httpbin'
echo 'travis_fold:start:testing'
echo 'Testing...'
pushd tests
./test
./test || rc=$?
popd
echo 'travis_fold:end:testing'
if [ -n "$rc" ]; then
httpbin_show_log
exit $rc
fi
if [ "$wxSKIP_GUI" = 1 ]; then
echo 'Skipping the rest of tests for non-GUI build.'