projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Build smaller dev binaries with -s -w, as with packaged binaries.
[arvados.git]
/
build
/
run-tests.sh
diff --git
a/build/run-tests.sh
b/build/run-tests.sh
index 4067a37cff5bb10c9b95665700f5409d00b39fca..9f5d37322ef73743ab4cc19d55ff883bd49d4890 100755
(executable)
--- a/
build/run-tests.sh
+++ b/
build/run-tests.sh
@@
-3,8
+3,6
@@
#
# SPDX-License-Identifier: AGPL-3.0
#
# SPDX-License-Identifier: AGPL-3.0
-. `dirname "$(readlink -f "$0")"`/libcloud-pin.sh
-
COLUMNS=80
. `dirname "$(readlink -f "$0")"`/run-library.sh
COLUMNS=80
. `dirname "$(readlink -f "$0")"`/run-library.sh
@@
-42,7
+40,7
@@
sdk/python_test="--test-suite tests.test_keep_locator"
Restrict Python SDK tests to the given class
apps/workbench_test="TEST=test/integration/pipeline_instances_test.rb"
Restrict Workbench tests to the given file
Restrict Python SDK tests to the given class
apps/workbench_test="TEST=test/integration/pipeline_instances_test.rb"
Restrict Workbench tests to the given file
-services/
arv-git-
httpd_test="-check.vv"
+services/
git
httpd_test="-check.vv"
Show all log messages, even when tests pass (also works
with services/keepstore_test etc.)
ARVADOS_DEBUG=1
Show all log messages, even when tests pass (also works
with services/keepstore_test etc.)
ARVADOS_DEBUG=1
@@
-94,7
+92,7
@@
lib/mount
lib/pam
lib/service
services/api
lib/pam
lib/service
services/api
-services/
arv-git-
httpd
+services/
git
httpd
services/crunchstat
services/dockercleaner
services/fuse
services/crunchstat
services/dockercleaner
services/fuse
@@
-160,6
+158,8
@@
only_install=
temp=
temp_preserve=
temp=
temp_preserve=
+ignore_sigint=
+
clear_temp() {
if [[ -z "$temp" ]]; then
# we did not even get as far as making a temp dir
clear_temp() {
if [[ -z "$temp" ]]; then
# we did not even get as far as making a temp dir
@@
-412,7
+412,7
@@
start_services() {
return 0
fi
. "$VENV3DIR/bin/activate"
return 0
fi
. "$VENV3DIR/bin/activate"
- echo 'Starting API, controller, keepproxy, keep-web,
arv-git-
httpd, ws, and nginx ssl proxy...'
+ echo 'Starting API, controller, keepproxy, keep-web,
git
httpd, ws, and nginx ssl proxy...'
if [[ ! -d "$WORKSPACE/services/api/log" ]]; then
mkdir -p "$WORKSPACE/services/api/log"
fi
if [[ ! -d "$WORKSPACE/services/api/log" ]]; then
mkdir -p "$WORKSPACE/services/api/log"
fi
@@
-440,8
+440,8
@@
start_services() {
&& python3 sdk/python/tests/run_test_server.py start_keep-web \
&& checkpidfile keep-web \
&& checkhealth WebDAV \
&& python3 sdk/python/tests/run_test_server.py start_keep-web \
&& checkpidfile keep-web \
&& checkhealth WebDAV \
- && python3 sdk/python/tests/run_test_server.py start_
arv-git-
httpd \
- && checkpidfile
arv-git-
httpd \
+ && python3 sdk/python/tests/run_test_server.py start_
git
httpd \
+ && checkpidfile
git
httpd \
&& checkhealth GitHTTP \
&& python3 sdk/python/tests/run_test_server.py start_ws \
&& checkpidfile ws \
&& checkhealth GitHTTP \
&& python3 sdk/python/tests/run_test_server.py start_ws \
&& checkpidfile ws \
@@
-463,7
+463,7
@@
stop_services() {
. "$VENV3DIR/bin/activate" || return
cd "$WORKSPACE" \
&& python3 sdk/python/tests/run_test_server.py stop_nginx \
. "$VENV3DIR/bin/activate" || return
cd "$WORKSPACE" \
&& python3 sdk/python/tests/run_test_server.py stop_nginx \
- && python3 sdk/python/tests/run_test_server.py stop_
arv-git-
httpd \
+ && python3 sdk/python/tests/run_test_server.py stop_
git
httpd \
&& python3 sdk/python/tests/run_test_server.py stop_ws \
&& python3 sdk/python/tests/run_test_server.py stop_keep-web \
&& python3 sdk/python/tests/run_test_server.py stop_keep_proxy \
&& python3 sdk/python/tests/run_test_server.py stop_ws \
&& python3 sdk/python/tests/run_test_server.py stop_keep-web \
&& python3 sdk/python/tests/run_test_server.py stop_keep_proxy \
@@
-475,6
+475,10
@@
stop_services() {
}
interrupt() {
}
interrupt() {
+ if [[ -n "$ignore_sigint" ]]; then
+ echo >&2 "ignored SIGINT"
+ return
+ fi
failures+=("($(basename $0) interrupted)")
exit_cleanly
}
failures+=("($(basename $0) interrupted)")
exit_cleanly
}
@@
-517,10
+521,10
@@
setup_ruby_environment() {
|| fatal 'rvm gemset setup'
rvm env
|| fatal 'rvm gemset setup'
rvm env
- (bundle version | grep -q 2.
0.2) || gem install bundler -v 2.0.2
+ (bundle version | grep -q 2.
2.19) || gem install --no-document bundler -v 2.2.19
bundle="$(which bundle)"
echo "$bundle"
bundle="$(which bundle)"
echo "$bundle"
- "$bundle" version | grep 2.
0.2
|| fatal 'install bundler'
+ "$bundle" version | grep 2.
2.19
|| fatal 'install bundler'
else
# When our "bundle install"s need to install new gems to
# satisfy dependencies, we want them to go where "gem install
else
# When our "bundle install"s need to install new gems to
# satisfy dependencies, we want them to go where "gem install
@@
-546,19
+550,24
@@
setup_ruby_environment() {
echo "Will install dependencies to $(gem env gemdir)"
echo "Will install bundler and arvados gems to $tmpdir_gem_home"
echo "Gem search path is GEM_PATH=$GEM_PATH"
echo "Will install dependencies to $(gem env gemdir)"
echo "Will install bundler and arvados gems to $tmpdir_gem_home"
echo "Gem search path is GEM_PATH=$GEM_PATH"
- bundle="
$tmpdir_gem_home/bin/
bundle"
+ bundle="bundle"
(
export HOME=$GEMHOME
(
export HOME=$GEMHOME
- bundlers="$(gem list --details bundler)"
- versions=(1.11.0 1.17.3 2.0.2)
+ versions=(2.2.19)
for v in ${versions[@]}; do
for v in ${versions[@]}; do
- if !
echo "$bundlers" | fgrep -q "($v)"
; then
- gem install --user $(for v in ${versions[@]}; do echo bundler:${v}; done)
+ if !
gem list --installed --version "${v}" bundler >/dev/null
; then
+ gem install --
no-document --
user $(for v in ${versions[@]}; do echo bundler:${v}; done)
break
fi
done
"$bundle" version | tee /dev/stderr | grep -q 'version 2'
) || fatal 'install bundler'
break
fi
done
"$bundle" version | tee /dev/stderr | grep -q 'version 2'
) || fatal 'install bundler'
+ if test -d /var/lib/arvados-arvbox/ ; then
+ # Inside arvbox, use bundler-installed binstubs. The
+ # system bundler and rail's own bin/bundle refuse to work.
+ # I don't know why.
+ bundle=binstubs/bundle
+ fi
fi
}
fi
}
@@
-644,7
+653,7
@@
initialize() {
install_env() {
go mod download || fatal "Go deps failed"
install_env() {
go mod download || fatal "Go deps failed"
- which goimports >/dev/null || go
get golang.org/x/tools/cmd/goimports
|| fatal "Go setup failed"
+ which goimports >/dev/null || go
install golang.org/x/tools/cmd/goimports@latest
|| fatal "Go setup failed"
setup_virtualenv "$VENV3DIR"
. "$VENV3DIR/bin/activate"
setup_virtualenv "$VENV3DIR"
. "$VENV3DIR/bin/activate"
@@
-727,7
+736,7
@@
do_test() {
go_ldflags() {
version=${ARVADOS_VERSION:-$(git log -n1 --format=%H)-dev}
go_ldflags() {
version=${ARVADOS_VERSION:-$(git log -n1 --format=%H)-dev}
- echo "-X git.arvados.org/arvados.git/lib/cmd.version=${version} -X main.version=${version}"
+ echo "-X git.arvados.org/arvados.git/lib/cmd.version=${version} -X main.version=${version}
-s -w
"
}
do_test_once() {
}
do_test_once() {
@@
-964,11
+973,11
@@
install_services/api() {
set -ex
cd "$WORKSPACE/services/api"
export RAILS_ENV=test
set -ex
cd "$WORKSPACE/services/api"
export RAILS_ENV=test
- if
"$bundle" exec
rails db:environment:set ; then
-
"$bundle" exec
rake db:drop
+ if
bin/
rails db:environment:set ; then
+
bin/
rake db:drop
fi
fi
-
"$bundle" exec
rake db:setup
-
"$bundle" exec
rake db:fixtures:load
+
bin/
rake db:setup
+
bin/
rake db:fixtures:load
) || return 1
}
) || return 1
}
@@
-982,7
+991,7
@@
pythonstuff=(
)
declare -a gostuff
)
declare -a gostuff
-gostuff=($(cd "$WORKSPACE" && git
grep -lw func | grep \\.go
| sed -e 's/\/[^\/]*$//' | sort -u))
+gostuff=($(cd "$WORKSPACE" && git
ls-files | grep '\.go$'
| sed -e 's/\/[^\/]*$//' | sort -u))
install_apps/workbench() {
cd "$WORKSPACE/apps/workbench" \
install_apps/workbench() {
cd "$WORKSPACE/apps/workbench" \
@@
-1080,11
+1089,8
@@
install_deps() {
do_install sdk/python pip "${VENV3DIR}/bin/"
do_install sdk/ruby
do_install services/api
do_install sdk/python pip "${VENV3DIR}/bin/"
do_install sdk/ruby
do_install services/api
- do_install services/arv-git-httpd go
do_install services/keepproxy go
do_install services/keepproxy go
- do_install services/keepstore go
do_install services/keep-web go
do_install services/keep-web go
- do_install services/ws go
}
install_all() {
}
install_all() {
@@
-1147,6
+1153,14
@@
test_all() {
do_test apps/workbench_profile
}
do_test apps/workbench_profile
}
+test_go() {
+ do_test gofmt
+ for g in "${gostuff[@]}"
+ do
+ do_test "$g" go
+ done
+}
+
help_interactive() {
echo "== Interactive commands:"
echo "TARGET (short for 'test DIR')"
help_interactive() {
echo "== Interactive commands:"
echo "TARGET (short for 'test DIR')"
@@
-1208,6
+1222,7
@@
else
setnextcmd
HISTFILE="$WORKSPACE/tmp/.history"
history -r
setnextcmd
HISTFILE="$WORKSPACE/tmp/.history"
history -r
+ ignore_sigint=1
while read -p 'What next? ' -e -i "$nextcmd" nextcmd; do
history -s "$nextcmd"
history -w
while read -p 'What next? ' -e -i "$nextcmd" nextcmd; do
history -s "$nextcmd"
history -w