[ARVADOS-DEV] updated: bae79452d0fb211338eb2a327f3679ebc5210ca2

git at public.curoverse.com git at public.curoverse.com
Thu Aug 14 18:50:57 EDT 2014


Summary of changes:
 jenkins/run-tests.sh | 86 +++++++++++++++++++++++++++++++++-------------------
 1 file changed, 55 insertions(+), 31 deletions(-)

       via  bae79452d0fb211338eb2a327f3679ebc5210ca2 (commit)
       via  32468a5b95280d671f4648dea6d2ff10d171378d (commit)
      from  35532d9eec8564a63e91af98a08117203e859d97 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit bae79452d0fb211338eb2a327f3679ebc5210ca2
Author: Tom Clegg <tom at curoverse.com>
Date:   Thu Aug 14 18:46:37 2014 -0400

    3551: Install Python and Go bits, force installation of Python test dependencies, *then* run tests.

diff --git a/jenkins/run-tests.sh b/jenkins/run-tests.sh
index 0557ab1..e924150 100755
--- a/jenkins/run-tests.sh
+++ b/jenkins/run-tests.sh
@@ -39,12 +39,16 @@ checkexit() {
     fi
 }
 
+goget() {
+    go get -t "git.curoverse.com/arvados.git/$1"
+    checkexit "$1 install"
+}
+
 gotest() {
     title "Starting $1 tests"
     cd "$WORKSPACE"
 
-    go get -t "git.curoverse.com/arvados.git/$1" \
-        && go test "git.curoverse.com/arvados.git/$1"
+    go test "git.curoverse.com/arvados.git/$1"
 
     checkexit "$1 tests"
     title "$1 tests complete"
@@ -115,61 +119,69 @@ title "API server tests complete"
 
 # Install CLI gem's dependencies.
 
-cd "$WORKSPACE"
-cd sdk/cli
+cd "$WORKSPACE/sdk/cli"
 bundle install --deployment
 
+cd "$WORKSPACE"
+gostuff="services/keepstore services/keepproxy sdk/go/arvadosclient sdk/go/keepclient sdk/go/streamer"
+for dir in $gostuff
+do
+  goget "$dir"
+done
+
 # 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
 # its own test suite brings up some of those other programs (like
 # keepproxy).
 
+cd "$WORKSPACE/sdk/python"
 python setup.py egg_info -b ".$(git log --format=format:%ct.%h -n1 .)" sdist rotate --keep=1 --match .tar.gz
 pip install dist/arvados-python-client-0.1.*.tar.gz
 
 checkexit "Python SDK install"
 
-# Keep daemons
-
-gotest services/keepstore
+cd "$WORKSPACE/services/fuse"
+python setup.py egg_info -b ".$(git log --format=format:%ct.%h -n1 .)" sdist rotate --keep=1 --match .tar.gz
+pip install dist/arvados_fuse-0.1.*.tar.gz
 
-gotest services/keepproxy
+checkexit "FUSE install"
 
-# Python SDK (already installed, but we didn't run its tests yet)
+# Python SDK. We test this before testing keepproxy: keepproxy runs
+# run_test_server.py, which depends on the yaml package, which is in
+# tests_require but not install_requires, and therefore does not get
+# installed by setuptools until we run "setup.py test" *and* install
+# the .egg files that setup.py downloads.
 
 title "Starting Python SDK tests"
-cd "$WORKSPACE"
-cd sdk/python
+cd "$WORKSPACE/sdk/python"
 
 python setup.py test
-
 checkexit "Python SDK tests"
+easy_install *.egg
+
+title "Python tests complete"
 
 # FUSE driver
 
-cd "$WORKSPACE"
-cd services/fuse
+title "Starting FUSE tests"
+cd "$WORKSPACE/services/fuse"
 
 python setup.py test
-
 checkexit "FUSE tests"
+easy_install *.egg
 
-python setup.py egg_info -b ".$(git log --format=format:%ct.%h -n1 .)" sdist rotate --keep=1 --match .tar.gz
-pip install dist/arvados_fuse-0.1.*.tar.gz
-
-checkexit "FUSE install"
+title "FUSE tests complete"
 
-title "Python SDK tests complete"
 
 # Go SDK packages
 
-for dir in sdk/go/arvadosclient sdk/go/keepclient sdk/go/streamer
+for dir in $gostuff
 do
   gotest "$dir"
 done
 
-# WORKBENCH
+# Workbench
 title "Starting workbench tests"
 cd "$WORKSPACE"
 cd apps/workbench

commit 32468a5b95280d671f4648dea6d2ff10d171378d
Author: Tom Clegg <tom at curoverse.com>
Date:   Thu Aug 14 17:18:33 2014 -0400

    3551: Fix dependency cycle: Install Python SDK, then install+test Go stuff, then test Python SDK.

diff --git a/jenkins/run-tests.sh b/jenkins/run-tests.sh
index f52b585..0557ab1 100755
--- a/jenkins/run-tests.sh
+++ b/jenkins/run-tests.sh
@@ -40,14 +40,14 @@ checkexit() {
 }
 
 gotest() {
-  title "Starting $1 tests"
-  cd "$WORKSPACE"
+    title "Starting $1 tests"
+    cd "$WORKSPACE"
 
-  go get -t "git.curoverse.com/arvados.git/$1" \
-  && go test "git.curoverse.com/arvados.git/$1"
+    go get -t "git.curoverse.com/arvados.git/$1" \
+        && go test "git.curoverse.com/arvados.git/$1"
 
-  checkexit "$1 tests"
-  title "$1 tests complete"
+    checkexit "$1 tests"
+    title "$1 tests complete"
 }
 
 checkexit "Doc build"
@@ -113,18 +113,30 @@ bundle exec rake test
 checkexit "API server tests"
 title "API server tests complete"
 
-# Keepstore. The keepstore binary is used by many other test suites,
-# so we test and install it early.
-
-gotest services/keepstore
-
-# Python SDK
+# Install CLI gem's dependencies.
 
 cd "$WORKSPACE"
 cd sdk/cli
 bundle install --deployment
 
-# Set up Python SDK and dependencies
+# 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
+# its own test suite brings up some of those other programs (like
+# keepproxy).
+
+python setup.py egg_info -b ".$(git log --format=format:%ct.%h -n1 .)" sdist rotate --keep=1 --match .tar.gz
+pip install dist/arvados-python-client-0.1.*.tar.gz
+
+checkexit "Python SDK install"
+
+# Keep daemons
+
+gotest services/keepstore
+
+gotest services/keepproxy
+
+# Python SDK (already installed, but we didn't run its tests yet)
 
 title "Starting Python SDK tests"
 cd "$WORKSPACE"
@@ -134,15 +146,11 @@ python setup.py test
 
 checkexit "Python SDK tests"
 
-python setup.py egg_info -b ".$(git log --format=format:%ct.%h -n1 .)" sdist rotate --keep=1 --match .tar.gz
-pip install dist/arvados-python-client-0.1.*.tar.gz
-
-checkexit "Python SDK install"
+# FUSE driver
 
 cd "$WORKSPACE"
 cd services/fuse
 
-# We reuse $VENVDIR from the Python SDK tests above
 python setup.py test
 
 checkexit "FUSE tests"
@@ -154,10 +162,12 @@ checkexit "FUSE install"
 
 title "Python SDK tests complete"
 
-for dir in services/keepproxy sdk/go/arvadosclient sdk/go/keepclient sdk/go/streamer
+# Go SDK packages
+
+for dir in sdk/go/arvadosclient sdk/go/keepclient sdk/go/streamer
 do
   gotest "$dir"
-end
+done
 
 # WORKBENCH
 title "Starting workbench tests"
@@ -179,6 +189,8 @@ rm -rf "$GOPATH"
 # The CLI SDK tests require a working API server, so let's skip those for now.
 exit $EXITCODE
 
+########################################################################
+
 # CLI SDK
 title "Starting SDK CLI tests"
 cd "$WORKSPACE"

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list