services/fuse
services/keepproxy
services/keepstore
+services/login-sync
services/nodemanager
services/arv-git-httpd
sdk/cli
perl -e "use $mod; print \"\$$mod::VERSION\\n\"" \
|| fatal "No $mod. Try: apt-get install perl-modules libcrypt-ssleay-perl libjson-perl"
done
+ echo -n 'gitolite: '
+ which gitolite \
+ || fatal "No gitolite. Try: apt-get install gitolite3"
}
rotate_logfile() {
ln -sfn "$WORKSPACE" "$GOPATH/src/git.curoverse.com/arvados.git" \
|| fatal "symlink failed"
-virtualenv --setuptools "$VENVDIR" || fatal "virtualenv $VENVDIR failed"
+if ! [[ -e "$VENVDIR/bin/activate" ]] || ! [[ -e "$VENVDIR/bin/pip" ]]; then
+ virtualenv --setuptools "$VENVDIR" || fatal "virtualenv $VENVDIR failed"
+fi
. "$VENVDIR/bin/activate"
if (pip install setuptools | grep setuptools-0) || [ "$($VENVDIR/bin/easy_install --version | cut -d\ -f2 | cut -d. -f1)" -lt 18 ]; then
- pip install --upgrade setuptools
+ pip install --upgrade setuptools pip
fi
# Note: this must be the last time we change PATH, otherwise rvm will
|| pip install PyYAML >/dev/null \
|| fatal "pip install PyYAML failed"
+# Preinstall forked version of libcloud, because nodemanager "pip install"
+# won't pick it up by default.
+pip freeze 2>/dev/null | egrep ^apache-libcloud==0.18.1.dev1 \
+ || pip install --pre --ignore-installed https://github.com/curoverse/libcloud/archive/apache-libcloud-0.18.1.dev1.zip >/dev/null \
+ || fatal "pip install apache-libcloud failed"
+
# If Python 3 is available, set up its virtualenv in $VENV3DIR.
# Otherwise, skip dependent tests.
PYTHON3=$(which python3)
}
do_install doc
-install_ruby_sdk() {
- with_test_gemset gem_uninstall_if_exists arvados \
- && cd "$WORKSPACE/sdk/ruby" \
+install_gem() {
+ gemname=$1
+ srcpath=$2
+ with_test_gemset gem_uninstall_if_exists "$gemname" \
+ && cd "$WORKSPACE/$srcpath" \
&& bundle_install_trylocal \
- && gem build arvados.gemspec \
- && with_test_gemset gem install --no-ri --no-rdoc `ls -t arvados-*.gem|head -n1`
+ && gem build "$gemname.gemspec" \
+ && with_test_gemset gem install --no-ri --no-rdoc $(ls -t "$gemname"-*.gem|head -n1)
+}
+
+install_ruby_sdk() {
+ install_gem arvados sdk/ruby
}
do_install sdk/ruby ruby_sdk
do_install sdk/perl perl_sdk
install_cli() {
- with_test_gemset gem_uninstall_if_exists arvados-cli \
- && cd "$WORKSPACE/sdk/cli" \
- && bundle_install_trylocal \
- && gem build arvados-cli.gemspec \
- && with_test_gemset gem install --no-ri --no-rdoc `ls -t arvados-cli-*.gem|head -n1`
+ install_gem arvados-cli sdk/cli
}
do_install sdk/cli cli
+install_login-sync() {
+ install_gem arvados-login-sync services/login-sync
+}
+do_install services/login-sync login-sync
+
# Install the Python SDK early. Various other test suites (like
# keepproxy) bring up run_test_server.py, which imports the arvados
# module. We can't actually *test* the Python SDK yet though, because
}
do_test sdk/cli cli
+test_login-sync() {
+ cd "$WORKSPACE/services/login-sync" \
+ && bundle exec rake test TESTOPTS=-v ${testargs[services/login-sync]}
+}
+do_test services/login-sync login-sync
+
for p in "${pythonstuff[@]}"
do
do_test "$p" pip